LeetCode初级算法--数组01:只出现一次的数字

LeetCode初级算法--数组01:只出现一次的数字

搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法、机器学习干货python

csdn:https://blog.csdn.net/baidu_31657889/git

csdn:https://blog.csdn.net/abcgkj/github

github:https://github.com/aimi-cn/AILearners面试

1、引子

这是由LeetCode官方推出的的经典面试题目清单~
这个模块对应的是探索的初级算法~旨在帮助入门算法。咱们第一遍刷的是leetcoda推荐的题目。
查看完整的剑指Offer算法题解析请点击github连接:
github地址算法

2、题目

给定一个非空整数数组,除了某个元素只出现一次之外,其他每一个元素均出现两次。找出那个只出现了一次的元素。编程

说明:数组

你的算法应该具备线性时间复杂度。 你能够不使用额外空间来实现吗?微信

示例 1:机器学习

输入: [2,2,1]
输出: 1复制代码

示例 2:学习

输入: [4,1,2,1,2]
输出: 4复制代码

一、思路

本身想的思路,很简单,建立一个字典,循环整个数组,若是改值出现不止一次,把这个数从字典中删除,不然把这个数存在字典中,最后剩下的那个数就是咱们想要的值。

二、编程实现

python

class Solution(object):
    def singleNumber(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        # for i in nums:
        #     if nums.count(i)==1:
        #         return i
        s = {}
        for i in nums:
            if i in s.keys():
                s.pop(i)
            else:
                s[i]=1
        return list(s.keys())[0]复制代码

AIMI-CN AI学习交流群【1015286623】 获取更多AI资料

分享技术,乐享生活:咱们的公众号计算机视觉这件小事每周推送“AI”系列资讯类文章,欢迎您的关注!

本文由博客一文多发平台 OpenWrite 发布!

相关文章
相关标签/搜索