(七)一個尋找陣列中眾數的演算法
Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋
times.
You may assume that the array is non-empty and the majority element always exist in the array.
PS:題目中很無恥的要求眾數的標準為出現次數大於陣列長度一半的數,且假定這個數字一定存在
=================================我是可愛的分隔符,上面是題目,下面是程式碼====================================
以下是簡單的邏輯:
一、先把陣列排序
二、判斷第一個數如果和中間的數相等,則眾數為第一個數,如果最後一個數和中間的數相等,則眾數為最後一個數,否則眾數為中間的數
public class Solution {
public int majorityElement(int[] nums) {
Arrays.sort(nums);
int len = nums.length;
if (nums[0] == nums[len / 2]) {
return nums[0];
} else if (nums[len-1] == nums[len / 2]) {
return nums[len - 1];
} else {
return nums[len / 2];
}
}
}
相關文章
- 尋找兩個有序陣列的中位數陣列
- 尋找兩個正序陣列中的中位數陣列
- 找一個陣列中特別的數陣列
- 力扣演算法題:尋找兩個正序陣列的中位數力扣演算法陣列
- 演算法尋找陣列中的第二大數演算法陣列
- 4. 尋找兩個正序陣列的中位數陣列
- 在陣列中尋找和為指定值的兩個數陣列
- 尋找陣列中和為定值的兩個數陣列
- 【.Net】從字串陣列中尋找數字的元素字串陣列
- lgP5788 陣列中尋找右側第一個大於它的數陣列
- 尋找兩個正序陣列的中位數問題,方法一:合併陣列檢索法陣列
- LeetCode--尋找兩個有序陣列的中位數(05)LeetCode陣列
- 【Java】尋找陣列中“主要元素”Java陣列
- LeetCode第4題:尋找兩個有序陣列的中位數LeetCode陣列
- 尋找陣列中第K大的元素陣列
- 尋找陣列的中心索引陣列索引
- 用 PHP 在 力扣 刷演算法 [尋找兩個正序陣列的中位數]{有空就更}PHP力扣演算法陣列
- 演算法找陣列中的特定元素演算法陣列
- [LeetCode 刷題] 4. 尋找兩個有序陣列的中位數 (Hard)LeetCode陣列
- GO實現:leetcode之尋找兩個正序陣列的中位數GoLeetCode陣列
- 找眾數演算法演算法
- LeetCode解題(C++)-4. 尋找兩個有序陣列的中位數LeetCodeC++陣列
- 【LeetCode Hot 100】4. 尋找兩個正序陣列的中位數LeetCode陣列
- 數字之魅:尋找陣列中的最大值和最小值陣列
- 演算法-兩個排序陣列的中位數演算法排序陣列
- 153. 尋找旋轉排序陣列中的最小值(中)排序陣列
- 給定一個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列中出現次數大於 ⌊ n/2 ⌋ 的元素。陣列
- 153. 尋找旋轉排序陣列中的最小值排序陣列
- leetcode 4. Median of Two Sorted Arrays 尋找兩個正序陣列的中位數(困難)LeetCode陣列
- 尋找陣列中的最大值和最小值O(1.5*N)陣列
- LintCode 尋找旋轉排序陣列中的最小值 II排序陣列
- 陣列中每個陣列元素出現的次數陣列
- 如何將一個陣列中的元素插入另一個陣列陣列
- Algorithm 04 : 尋找兩個有序陣列中的第N個數,要求時間複雜度為O(logm+logn)Go陣列時間複雜度
- 面試演算法題(4)--將一個整數陣列中的所有奇數放到偶數前面面試演算法陣列
- 演算法陣列中降序數列的最大長度演算法陣列
- 兩個有序陣列的中位數陣列
- 每天一道演算法題:求兩個排序陣列的中位數演算法排序陣列