查詢陣列中出現次數大於陣列長度一半的數字
查詢陣列中出現次數大於陣列長度一半的 數字
樣例:[1, 2, 3, 2, 2, 2, 5, 4, 2];
程式碼思路:一個數字如果遇到和它不一樣的數字則結果 = -1;相同則 = +1;
在遍歷完陣列中所以元素後,如果能夠抵消到其餘的所有數字,
那麼這個數字必定次數是大於陣列長度的一半的。
每次使得flag=0成立,那麼就是這個數字A和下一位數字B不同,當前A次數是1次。
class Solution {
public int majorityElement(int[] nums) {
int res=nums[0];
int flag=0;
for(int num:nums){
if(flag==0) res=num;
flag+=num==res?1:-1;
}
return res;
}
}
相關文章
- 陣列中出現次數超過一半的數字陣列
- 48 陣列中出現次數超過一半的數字陣列
- JZ-028-陣列中出現次數超過一半的數字陣列
- 每日一練(20):陣列中出現次數超過一半的數字陣列
- 找到陣列中出現特定次數數字的問題陣列
- 找出陣列中元素出現次數超過陣列長度一半的元素陣列
- JZ-037-數字在排序陣列中出現的次數排序陣列
- [劍指offer題解][Java]陣列中出現次數超過一半的數字Java陣列
- Leetcode 劍指 Offer 39. 陣列中出現次數超過一半的數字LeetCode陣列
- 力扣 - 劍指 Offer 39. 陣列中出現次數超過一半的數字力扣陣列
- 劍指Offer-39-數字在排序陣列中出現的次數排序陣列
- 劍指OFFER-數字在升序陣列中出現的次數(Java)陣列Java
- Matlab tabulate統計數字出現的次數,如果陣列中出現0Matlab陣列
- js找出陣列中出現最多的元素和次數JS陣列
- 給定一個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列中出現次數大於 ⌊ n/2 ⌋ 的元素。陣列
- 找出陣列中第 k 大的數字及其出現次數陣列
- 陣列中每個陣列元素出現的次數陣列
- 面試:Java 實現查詢旋轉陣列的最小數字面試Java陣列
- 統計陣列中各數字(元素)出現的次數陣列
- 【LeetCode-陣列】查詢大多數元素LeetCode陣列
- Matlab 統計陣列中各數字(元素)出現的次數Matlab陣列
- 每日一練(24):在排序陣列中查詢數字排序陣列
- 如何查詢總和等於給定數字的整數陣列中的所有對陣列
- 找出陣列中只出現一次的數字陣列
- 3229. 使陣列等於目標陣列所需的最少操作次數陣列
- 劍指 Offer 56 - I. 陣列中數字出現的次數陣列
- 陣列中重複的數字陣列
- 劍指offer之列印超過陣列一半的數字陣列
- 字元陣列的長度字元陣列
- JZ-040-陣列中只出現一次的數字陣列
- 查詢陣列中第K大的元素陣列
- 陣列的主元素查詢陣列
- Java中查詢陣列多數元素的4種方法Java陣列
- Java 定義長度為 0 的陣列 / 空陣列Java陣列
- 二維陣列查詢陣列
- 1588 所有奇數長度子陣列的和(字首和)陣列
- C++陣列長度C++陣列
- 二維陣列中的查詢陣列