給定一個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列中出現次數大於 ⌊ n/2 ⌋ 的元素。
自己整理的不算轉載
給定一個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列中出現次數大於 ⌊ n/2 ⌋
的元素。
你可以假設陣列是非空的,並且給定的陣列總是存在眾數。
示例 1:
方法一:取陣列第一個元素,去迴圈重複一個就計數為1,沒遇到一樣的就減一,直到為零換下一個元素去陣列碰,剩下的一定是最多的那個
class Solution {
public static void main(String[] args) {
int[] a = {2,2,1,1,1,2,2};
System.out.println(majorityElement(a));
}
public static int majorityElement(int[] nums) {
int a = nums[0];
int count = 1;
for(int num : nums) {
if(num == a) {
count ++;
}else {
count --;
if(count == 0) {
a = num;
count = 1;
}
}
}
return a;
}
}
方法二:先sort排下序,然後取最中間的那個數因為定義的是個數大於陣列長度的二分之一
public static void main(String[] args) {
int[] a = {2,2,1,1};
System.out.println(majorityElement(a));
}
public static int majorityElement(int[] nums) {
Arrays.sort(nums);
return nums[nums.length/2];
}
相關文章
- 找到陣列中出現特定次數數字的問題陣列
- 求出陣列中出現次數大於一半的數字陣列
- 查詢陣列中出現次數大於陣列長度一半的數字陣列
- 陣列中出現兩次的數陣列
- python實現給定一個數和陣列,求陣列中兩數之和為給定的數Python陣列
- 陣列中每個陣列元素出現的次數陣列
- js找出陣列中出現最多的元素和次數JS陣列
- 給定陣列中找到最大的兩個數陣列
- 陣列中出現次數超過一半的數字陣列
- 求無序陣列總第n大的數陣列
- 48 陣列中出現次數超過一半的數字陣列
- asp.net 實現獲取一個集合陣列中出現次數最多的元素ASP.NET陣列
- 【劍指offer】數字在排序陣列中出現的次數排序陣列
- 九度 1349 數字在排序陣列中出現的次數排序陣列
- 統計陣列元素中每個元素出現的次數陣列
- JZ-037-數字在排序陣列中出現的次數排序陣列
- 《劍指offer》:[38]數字在排序陣列中出現的次數排序陣列
- 在其它數都出現k次的陣列中找到只出現一次的數陣列
- 每日一練(20):陣列中出現次數超過一半的數字陣列
- 找出陣列中元素出現次數超過陣列長度一半的元素陣列
- 從陣列中找出N個數,其和為M的所有可能陣列
- (七)一個尋找陣列中眾數的演算法陣列演算法
- 給定兩個大小為 m 和 n 的正序(從小到大)陣列 nums1 和 nums2。請你找出並返回這兩個正序陣列的中位數。陣列
- 統計陣列中各數字(元素)出現的次數陣列
- 劍指Offer-39-數字在排序陣列中出現的次數排序陣列
- 劍指OFFER-數字在升序陣列中出現的次數(Java)陣列Java
- 統計陣列個元素出現的個數陣列
- 獲取陣列第N個元素的方法陣列
- JZ-028-陣列中出現次數超過一半的數字陣列
- 從面試題中學演算法(2)---求陣列中唯一n個出現1次的數字(n=1,2,3)面試題演算法陣列
- Python有 n 個物品和一個大小為 m 的揹包. 給定陣列 A 表示每個物品的大小和陣列 V 表示每個物品的價值.。。Python陣列
- Matlab tabulate統計數字出現的次數,如果陣列中出現0Matlab陣列
- 改進,從一個陣列中找出 N 個數,其和為 M 的所有可能陣列
- 非1~2^n數列的自然數密碼《一》密碼
- 非1~2^n數列的自然數密碼《一A》密碼
- js常見演算法(一):陣列去重,打亂陣列,統計陣列各個元素出現的次數, 字串各個字元的出現次數,獲取地址連結的各個引數JS演算法陣列字串字元
- Matlab 統計陣列中各數字(元素)出現的次數Matlab陣列
- 在一個長度為n的不同元素的陣列中順序查詢元素x,查詢成功時的平均比較次數為多少陣列