题目

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
示例 1:
输入: [2,2,1]
输出: 1
示例 2:
输入: [4,1,2,1,2]
输出: 4
来源:力扣(LeetCode)

解题思路

  这个题想要写出来不难,难的是原地解决问题。如果没有限制的话建一个频率表找到频率为1的值就可以了。

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


  如果加上限制条件的话,思维不发散是很难想到异或运算的。在leetcode的官方中给出了一个符合条件且空间复杂度为O(n)的方法,就是利用异或运算的性质。

class Solution:def singleNumber(self, nums: List[int]) -> int:temp=0for i in nums:temp^=ireturn temp

LeetCode简单题之只出现一次的数字相关推荐

  1. LeetCode简单题之字符串转化后的各位数字之和

    题目 给你一个由小写字母组成的字符串 s ,以及一个整数 k . 首先,用字母在字母表中的位置替换该字母,将 s 转化 为一个整数(也就是,'a' 用 1 替换,'b' 用 2 替换,- 'z' 用 ...

  2. leetcode初级算法4.只出现一次的数字

    leetcode初级算法4.只出现一次的数字 仅为个人刷题记录,不提供解题思路 题解与收获 我的解法: public static int singleNumber(int[] nums) {if(n ...

  3. LeetCode简单题之基于排列构建数组

    题目 给你一个 从 0 开始的排列 nums(下标也从 0 开始).请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i < nums.length),都满足 ans ...

  4. LeetCode简单题之两个数对之间的最大乘积差

    题目 两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) . 例如,(5, 6) 和 (2, 7) 之间的乘积差是 (5 * 6) - (2 * 7) ...

  5. LeetCode简单题之按键持续时间最长的键

    题目 LeetCode 设计了一款新式键盘,正在测试其可用性.测试人员将会点击一系列键(总计 n 个),每次一个. 给你一个长度为 n 的字符串 keysPressed ,其中 keysPressed ...

  6. LeetCode简单题之将所有数字用字符替换

    题目 给你一个下标从 0 开始的字符串 s ,它的 偶数 下标处为小写英文字母,奇数 下标处为数字. 定义一个函数 shift(c, x) ,其中 c 是一个字符且 x 是一个数字,函数返回字母表中 ...

  7. LeetCode简单题之唯一元素的和

    题目 给你一个整数数组 nums .数组中唯一元素是那些只出现 恰好一次 的元素. 请你返回 nums 中唯一元素的 和 . 示例 1: 输入:nums = [1,2,3,2] 输出:4 解释:唯一元 ...

  8. LeetCode简单题之至少是其他数字两倍的最大数

    题目 给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 . 请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 .如果是,则返回 最大元素的下标 ,否则返回 -1 . ...

  9. LeetCode简单题之找到所有数组中消失的数字

    题目 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内.请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果. 示例 1 ...

最新文章

  1. 港中大、商汤开源目标检测工具包mmdetection,对比Detectron如何?
  2. [LeetCode]: 53: Maximum Subarray
  3. linux apache守护进程,Linux基础命令---httpd守护进程
  4. 记录一下ui设计中的网站配色
  5. boost::sort模块实现spreadsort 浮点函子排序示例
  6. c语言中static变量
  7. 01 菜单栏和工具栏(一)
  8. UVa 11383 少林决胜(二分图最佳完美匹配)
  9. 再谈如何写好技术文档?
  10. 面试必问------索引详解
  11. jQuery Mobile 移动开发中的日期插件Mobiscroll使用说明
  12. Trie树讲解(例题:ACWING 835,ACWING 143)
  13. C语言中宏的运用------利用宏技术可以简化对某结构体变量的访问
  14. 如何使用winrar打开war包
  15. android输入法ios下载安装,仿ios输入法
  16. 资产配置(理论+模型),科学找圣杯
  17. 计算机网络 --- IP地址的详细分类
  18. Python中对一个数组各个数进行累加(反差分计算) cumsum()函数
  19. Tree Traversal(二叉树的遍历)
  20. 数据库外键的作用,以及和主键的区别

热门文章

  1. Jquery DIV滚动至浏览器顶部后固定不动代码
  2. HTTP服务器端常用推送技术
  3. Registry仓库Harbor的部署与简介
  4. Xcode couldn‘t find any iOS App Development provisioning profiles matching ‘com.example.***‘
  5. LeetCode简单题之两栋颜色不同且距离最远的房子
  6. 全文翻译(一):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning
  7. 使用TensorRT集成推理inference
  8. Yolo:实时目标检测实战(下)
  9. 2021年大数据Spark(五十三):Structured Streaming Deduplication
  10. Cocos生命周期回调