題目連結:
題目意譯:
你被給定一個索引值從 0 開始的整數陣列,其代表著一些學生的一場測驗成績。老師想要形成一個有著最大力量值的非空群組,其中一個由索引值 i0 、 i1 、 i2 、 …… 、 ik 的學生組成的群組之力量值定義為 nums[i0] × nums[i1] × nums[i2] × …… × nums[ik]。
回傳老師可以創建出來的群組之最大力量值。
限制:
1 ≦ nums.length ≦ 13
-9 ≦ nums[i] ≦ 9
範例測資:
範例 1:
輸入: nums = [3,-1,-5,2,5,-9]
輸出: 1350
解釋: 其中一個形成最大力量值群組的方式為將索引值為 [0,2,3,4,5] 的學生來形成一組。他們的力量值為 3 × (-5) × 2 × 5 × (-9) = 1350,可以證明此為最大值。
範例 2:
輸入: nums = [-4,-5,-4]
輸出: 20
解釋: 將索引值 [0, 1] 的學生形成一組。接著我們會得到結果力量值 20。我們不可能得到更大的力量值了。
解題思維:
窮舉出所有 2 ^ (nums.length) 可能的群組(記得去掉什麼都沒有選的群組,因為題目說了必須非空)並取其中力量值最大者即可。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。