給定一個大小為 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陣列
- 陣列中每個陣列元素出現的次數陣列
- 給定陣列中找到最大的兩個數陣列
- 陣列中出現次數超過一半的數字陣列
- 48 陣列中出現次數超過一半的數字陣列
- JZ-037-數字在排序陣列中出現的次數排序陣列
- 統計陣列元素中每個元素出現的次數陣列
- 找出陣列中元素出現次數超過陣列長度一半的元素陣列
- JZ-028-陣列中出現次數超過一半的數字陣列
- 給定兩個大小為 m 和 n 的正序(從小到大)陣列 nums1 和 nums2。請你找出並返回這兩個正序陣列的中位數。陣列
- 陣列元素的數量陣列
- 獲取陣列第N個元素的方法陣列
- 每日一練(20):陣列中出現次數超過一半的數字陣列
- 寫一個方法,傳入數字x,從一個一維陣列裡找到兩個數字符合“n1 + n2 = x”陣列
- 從陣列中找出N個數,其和為M的所有可能陣列
- Python有 n 個物品和一個大小為 m 的揹包. 給定陣列 A 表示每個物品的大小和陣列 V 表示每個物品的價值.。。Python陣列
- 在其它數都出現k次的陣列中找到只出現一次的數陣列
- 統計陣列個元素出現的個數陣列
- 統計陣列中各數字(元素)出現的次數陣列
- 劍指Offer-39-數字在排序陣列中出現的次數排序陣列
- 劍指OFFER-數字在升序陣列中出現的次數(Java)陣列Java
- Matlab tabulate統計數字出現的次數,如果陣列中出現0Matlab陣列
- Matlab 統計陣列中各數字(元素)出現的次數Matlab陣列
- 改進,從一個陣列中找出 N 個數,其和為 M 的所有可能陣列
- js常見演算法(一):陣列去重,打亂陣列,統計陣列各個元素出現的次數, 字串各個字元的出現次數,獲取地址連結的各個引數JS演算法陣列字串字元
- 【IDL】獲取n*n陣列的對角線元素的方法陣列
- 返回陣列中的最大元素個數陣列
- [劍指offer題解][Java]陣列中出現次數超過一半的數字Java陣列
- Leetcode 劍指 Offer 39. 陣列中出現次數超過一半的數字LeetCode陣列
- 如何新增javascript陣列n乘以相同的元素JavaScript陣列
- 【簡單演算法】1.兩數之和,給定整數陣列和目標值,找出陣列中2數之和等於目標值的元素演算法陣列
- 找到一個數最接近的比它大的2的n次冪的程式碼分析
- 找到無序陣列中最小的k個數陣列
- 給定一個整數陣列,找出總和最大的連續數列,並返回總和。陣列
- 找出陣列中第 k 大的數字及其出現次數陣列