swift 算法 简单34.求众数

给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在众数。

示例 1:

输入: [3,2,3]
输出: 3
示例 2:

输入: [2,2,1,1,1,2,2]
输出: 2

解法:

func majorityElement(_ nums: [Int]) -> Int {
          guard nums.count > 0 else {
            return 0
        }
       
        var count = 0
        var target = 0
        for i in 0..<nums.count {
                if count == 0 {
                    target = nums[i]
                    count = 1
                } else if target == nums[i] {
                    count += 1
                } else {
                    count -= 1
                }
            }
        return target
    }

猜你喜欢

转载自blog.csdn.net/huanglinxiao/article/details/92561693