Leetcode169

LeetCode169:多数元素
        给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 ```cpp 示例 1:

#### 解法一:基于sort的方法

```cpp
class Solution {
public:
    int majorityElement(vector<int>& nums) {
        long long Size = int(nums.size());
        long long flag = Size / 2;
        long long n = 1;
        long long i = 1;
        sort(nums.begin(), nums.end());
        if (Size == 1)
            return nums[0];
        for (; i<Size; i++)
        {
            if (nums[i] == nums[i - 1])
            {
                ++n;
                if (n>flag)
                    return nums[i];
            }
            if (nums[i]>nums[i - 1])
            {
                n = 1;
            }
        }

        return nums[i];
    }
};

   转载规则


《Leetcode169》 赵小亮 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Leetcode004 Leetcode004
LeetCode004:寻找两个有序数组的中位数         给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(
2020-04-14
下一篇 
Leetcode066 Leetcode066
LeetCode066:加一         给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0
2020-04-13
  目录