思路:
將陣列中所有值相加後,遍歷資料,假設每乙個遍歷元素為中間值索引,則位於該中間值索引的左右元素之和必定相等;
如果不相等,則繼續遍歷下乙個元素,並將前遍歷元素的值新增到左側和中,用於下次比對。
class
solution
for(
int i =
0; i < nums.length; i++
)return-1
;}}
思路:
遍歷陣列,初始化時,預設最大值 與 次大值均為0。
然後對陣列進行遍歷,若遍歷元素比最大值大,則將最大值的值賦值給次大值,遍歷元素賦值給最大值,記錄索引值;
若遍歷元素小於當前最大值,則判斷是否比當前次大值大。
遍歷完陣列後,即可得到整個陣列的最大、次大值,最大值的索引。
判斷最大值 >= 2 * 次大值即可返回索引。
public
class
solution))
;}public
intdominantindex
(int
nums)
else
if(nums[i]
> secodenum)}if
(nums[index]
>=
2*secodenum)
return index;
return-1
;}}
leetcode刷題記錄
我覺得每天來兩道,練習練習,再看看人家是怎麼優化的。1.給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。c 暴力求解,204ms,9.1m class solution for index,num in enumerate ...
LeetCode刷題記錄
動態規劃和貪心演算法的異同點 class solution throw newruntimeexception 時間複雜度 o n 2 對於每個元素,我們試圖通過遍歷陣列的其餘部分來尋找它所對應的目標元素,這將耗費 o n o n 的時間。因此時間複雜度為 o n 2 需要一種方法,尋找符合要求的元...
leetcode刷題記錄
工作之餘刷刷題排解下寂寞 1 面試題66.構建乘積陣列 解題思路 題目要求可以簡化為求陣列中任意乙個元素左右兩邊所有元素的乘積。偷懶就用了乙個套路,練習了p c c python class solution def constructarr self,a list int list int 除法是...