Featured image of post 剑指 Offer 56 - II. 数组中数字出现的次数 II

剑指 Offer 56 - II. 数组中数字出现的次数 II

题目描述

在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。

示例 1:

  • 输入:nums = [3,4,3,3]
  • 输出:4

示例 2:

  • 输入:nums = [9,1,7,9,7,9,7]
  • 输出:1

限制:

  • 1 <= nums.length <= 10000
  • 1 <= nums[i] < 2^31

解法一:位运算

1
2
3
4
5
6
7
8
func singleNumber(nums []int) int {
    two, one := 0, 0
    for _, val := range nums {
        one = one ^ val & ^two
        two = two ^ val & ^one
    }
    return one
}
Licensed under CC BY-NC-SA 4.0
最后更新于 2023/07/01 22:48:05
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计