查詢陣列中出現次數大於陣列長度一半的數字
查詢陣列中出現次數大於陣列長度一半的 數字
樣例:[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 陣列中出現次數超過一半的數字陣列
- 九度 1349 數字在排序陣列中出現的次數排序陣列
- 陣列中出現兩次的數陣列
- JZ-028-陣列中出現次數超過一半的數字陣列
- 每日一練(20):陣列中出現次數超過一半的數字陣列
- 找到陣列中出現特定次數數字的問題陣列
- 找出陣列中元素出現次數超過陣列長度一半的元素陣列
- 【劍指offer】數字在排序陣列中出現的次數排序陣列
- [劍指offer題解][Java]陣列中出現次數超過一半的數字Java陣列
- JZ-037-數字在排序陣列中出現的次數排序陣列
- 《劍指offer》:[38]數字在排序陣列中出現的次數排序陣列
- 力扣 - 劍指 Offer 39. 陣列中出現次數超過一半的數字力扣陣列
- 劍指Offer-39-數字在排序陣列中出現的次數排序陣列
- 劍指OFFER-數字在升序陣列中出現的次數(Java)陣列Java
- Leetcode 劍指 Offer 39. 陣列中出現次數超過一半的數字LeetCode陣列
- Matlab tabulate統計數字出現的次數,如果陣列中出現0Matlab陣列
- js找出陣列中出現最多的元素和次數JS陣列
- 給定一個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列中出現次數大於 ⌊ n/2 ⌋ 的元素。陣列
- 找出陣列中第 k 大的數字及其出現次數陣列
- 面試:Java 實現查詢旋轉陣列的最小數字面試Java陣列
- 陣列中每個陣列元素出現的次數陣列
- 統計陣列中各數字(元素)出現的次數陣列
- 計算陣列中每個數字出現的次數陣列
- 演算法陣列中降序數列的最大長度演算法陣列
- 找出陣列中只出現一次的數字陣列
- 每日一練(24):在排序陣列中查詢數字排序陣列
- 如何查詢總和等於給定數字的整數陣列中的所有對陣列
- Matlab 統計陣列中各數字(元素)出現的次數Matlab陣列
- 劍指 Offer 56 - I. 陣列中數字出現的次數陣列
- 陣列-07. 求一批整數中出現最多的個位數字(20)陣列
- Java 陣列的不同定義方式和陣列長度為可變引數Java陣列
- 用陣列實現大數加法陣列
- C語言中strlen求字串長度,求字元陣列長度(空字元,數字0,字元0,陣列部分初始化)C語言字串字元陣列
- 3229. 使陣列等於目標陣列所需的最少操作次數陣列
- 字元陣列的長度字元陣列
- (陣列)大數相乘,相加陣列