我是靠谱客的博主 昏睡太阳,最近开发中收集的这篇文章主要介绍LeetCode 260. 只出现一次的数字 III(python)(未完成),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目链接

题目描述:

给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。

示例 :

输入: [1,2,1,3,2,5]
输出: [3,5]
注意:

结果输出的顺序并不重要,对于上面的例子, [5, 3] 也是正确答案。
你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?

解题思路:

用字典存放每个数字出现的次数,然后返回出现次数为1的数字

class Solution:
    def singleNumber(self, nums: List[int]) -> List[int]:
        dic={}
        for i in nums:
            dic[i]=dic.get(i,0)+1
        res=[]
        for key,value  in dic.items():
            if value==1:
                res.append(key)
        return res

在这里插入图片描述
解法二:
将原数组用set去重,然后set中的元素,依次移除原数组的元素,最后剩下的为仅出现一次的元素

解法三:

位运算

最后

以上就是昏睡太阳为你收集整理的LeetCode 260. 只出现一次的数字 III(python)(未完成)的全部内容,希望文章能够帮你解决LeetCode 260. 只出现一次的数字 III(python)(未完成)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部