题目描述
现在有一个整数类型的数组,数组中只有一个元素只出现一次,其余元素都出现三次。你需要找出只出现一次的元素
注意:
你需要给出一个线性时间复杂度的算法,你能在不使用额外内存空间的情况下解决这个问题么?
思路:
我们可以获取列表所有元素分别出现的次数,然后设定限制条件,找到目标元素。因为题目要求,其它元素至少出现三次,所以
当某个元素出现的次数大于1时,本次循环结束,进入下一次循环,若次数为一,则返回该元素。废话不多说,代码如下:
def FindNumber2(A):
    for k in range(len(A)):
        if A.count(A[k]) % 2 == 0:
            continue
        else:
            if A.count(A[k]) > 1:
                continue
            else:
                return A[k]
    
print(FindNumber2([2,2,3,2,4,4,8,7,9,7,3,9]))