[LeetCode]136. Single Number(找出数组中单独出现的数)
来源:互联网 发布:罗技鼠标推荐 知乎 编辑:程序博客网 时间:2024/05/22 14:16
136. Single Number
Given an array of integers, every element appears twice except for one. Find that single one.
题目大意:给定一个整数数组,每个元素出现两次,只要一个元素出现一次。 找到这个元素。
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
您的算法应具有线性运行时复杂性。 你能实现它,而不使用额外的内存?
C++class Solution {public: int singleNumber(vector<int>& nums) { int length = nums.size(); if(length == 1) return nums[0]; int a = 0; for(int i=0;i<length;i++){ a ^= nums[i];//利用异或性质 对于任何数x,都有x^x=0 ,x^0=x ,a^b=b^a 所以 x^y^x = y } return a; }};
注意:
- 异或性质
- 1、交换律 (a^b = b^a)
- 2、结合律(即(a^b)^c = a^(b^c))
- 3、对于任何数x,都有x^x=0,x^0=x 所以 x^y^x = y
- 自己着实没想出来好办法,只好百度了一下,异或很重要…
0 0
- [LeetCode]136. Single Number(找出数组中单独出现的数)
- LeetCode 找出 单独的数 Single Number
- 找出数组中只出现一次的数(single number )
- 【leetcode】数组中找出只出现一次的数字(Single Number)
- 【LeetCode】- Single Number(从数组中找出只出现一次的数字)
- Single Number --- 找出数组中出现一次的数字
- Single Number II -- 找出数组中唯一出现一次的数,其它数都出现了三次
- 136. Single Number 找出只出现特定次数的数
- 136. Single Number | 找出那个只出现一次的数
- Single Number 数组找只出现一次的数@LeetCode
- 数组中出现一次的两个数 leetcode Single Number III
- 136.Single Number (数组中只出现一次的数)
- Single Number--找出数组中唯一的一个只出现一次的元素
- leetcode_260. Single Number III 数组中找出两个只出现一次的元素
- 找出数组中单独出现的3个数
- Single Number(找出只出现了一次的数,其它数都出现两次)
- 一个数组中只有两个数字单独出现,其余数字都是成对出现的,请找出这两个数。
- 【leetcode】在一堆每个数字都出现三次的数组中,找到那个只出现一次的数(Single Number II)
- STL
- Google C++编程风格
- 降维时为什么找最大的特征值对应的特征向量
- Python第三方库——Matplotlib库
- 清除行列
- [LeetCode]136. Single Number(找出数组中单独出现的数)
- 程序员小李通过管道统计prog.c函数中for语句通过的次数,需要使用的指令分别是
- Python·Jupyter Notebook各种使用方法记录·持续更新
- centos 下php7扩展pdo_mysql编译安装教程
- Android 发送get请求 URL中文参数显示问号的一种解决办法
- h5的小应用加tp3.2 ajax
- java中特殊的类
- Activity 任务栈分析与及Activity的启动方式
- 大数问题