LeetCode 面試題 17 10 主要元素

2021-10-23 06:18:54 字數 628 閱讀 6220

如果陣列中多一半的數都是同乙個,則稱之為主要元素。給定乙個整數陣列,找到它的主要元素。若沒有,返回-1。

示例 1:

輸入:[1,2,5,9,5,9,5,5,5]

輸出:5

示例 2:

輸入:[3,2]

輸出:-1

示例 3:

輸入:[2,2,1,1,1,2,2]

輸出:2

遍歷整個陣列,並用乙個計數器計數,第乙個數記為c,如果後乙個數等於當前數,count加1,如果不相等,再判斷count的值,如果大於0,count減1,否則c重新賦值,count置為0;

最後再統計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 解釋 有四種方式可以湊成總金額...