如果陣列中多一半的數都是同乙個,則稱之為主要元素。給定乙個整數陣列,找到它的主要元素。若沒有,返回-1。
示例 1:
輸入:[1,2,5,9,5,9,5,5,5]示例 2:輸出:5
輸入:[3,2]示例 3:輸出:-1
輸入:[2,2,1,1,1,2,2]遍歷整個陣列,並用乙個計數器計數,第乙個數記為c,如果後乙個數等於當前數,count加1,如果不相等,再判斷count的值,如果大於0,count減1,否則c重新賦值,count置為0;輸出:2
最後再統計c的個數,如果大於陣列個數的一半,返回c,否則返回-1。
class
solution
else
if(count >0)
else
i++;}
for(
int num : nums)
}return count>nums.length/
2?c:-1
;}}
leetcode 面試題專題
面試題51.陣列中的逆序對 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。利用歸併排序,將陣列分成兩部分,前面一部分和後面一部分,進行歸併的時候,需要比較兩個陣列的數值大小,如果第二個陣列的值小的話,代表前乙個陣列剩下的都...
位元組面試題 leetcode
給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例 1 輸入 1,2,1 輸出 2,1,2 解釋 第乙個 ...
leetcode面試題 08 11 硬幣
硬幣。給定數量不限的硬幣,幣值為25分 10分 5分和1分,編寫 計算n分有幾種表示法。結果可能會很大,你需要將結果模上1000000007 示例1 輸入 n 5 輸出 2 解釋 有兩種方式可以湊成總金額 5 55 1 1 1 1 1 示例2 輸入 n 10 輸出 4 解釋 有四種方式可以湊成總金額...