寻找列表中只出现一次的字符

出现一次的数字ii

https://www.nowcoder.com/practice/1097ca585245418ea2efd0e8b4d9eb7a?tpId=46&&tqId=29043&rp=1&ru=/ta/classic-code&qru=/ta/classic-code/question-ranking

题目描述
现在有一个整数类型的数组,数组中只有一个元素只出现一次,其余元素都出现三次。你需要找出只出现一次的元素
注意:
你需要给出一个线性时间复杂度的算法,你能在不使用额外内存空间的情况下解决这个问题么?
思路:
我们可以获取列表所有元素分别出现的次数,然后设定限制条件,找到目标元素。因为题目要求,其它元素至少出现三次,所以
当某个元素出现的次数大于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]))


全部评论

相关推荐

不愿透露姓名的神秘牛友
07-25 17:26
点赞 评论 收藏
分享
06-25 09:33
厦门大学 Java
球球别拷打俺了:现在日常估计没啥hc了,等到八月多估计就慢慢有了。双九✌🏻不用焦虑的
投递快手等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-22 11:33
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务