力扣热题100之第136题:

先贴代码:

class Solution {public int singleNumber(int[] nums) {//异或int ans = 0;for(int i = 0; i < nums.length;i++){ans = ans ^ nums[i];}return ans;}
}

解题思路:

这一题需要我们用到异或来解决,异或的运算法则符合以下:

所以当一个数组只有一个元素是单独的,其他的元素都出现了两次的时候,就符合异或运算的交换律和结合率,例如:1 ^ 2 ^ 2 ^ 3 ^ 3 ^ 4 ^ 4 = 1;2 ^ 1 ^ 3 ^ 2 ^ 3 = 1;

所以我们只需一次遍历数组,每次遍历都异或上这个数,就可以完成解答。

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。【LeetCode Hot 100】相关推荐

  1. c语言给定一个非空整数数组_C程序检查给定整数的所有位是否为一(1)

    c语言给定一个非空整数数组 Problem statement: Write a C Program to check if all the bits of a given integer is on ...

  2. Java 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 示例 1: 输入: [2,2,1] 输出: 1示例 2: 输入: [4,1,2,1,2] 输出: ...

  3. 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

    给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间. ...

  4. 重复子字符串(给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。)

    给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000.   示例 1: 输入: "abab" 输出: True ...

  5. 137 Single Number II 数组中除了一个数外,其他的数都出现了三次,找出这个只出现一次的数...

    给定一个整型数组,除了一个元素只出现一次外,其余每个元素都出现了三次.求出那个只出现一次的数. 注意: 你的算法应该具有线性的时间复杂度.你能否不使用额外的内存来实现? 详见:https://leet ...

  6. 9.11排序与查找(三)——给定一个排序后的数组,包括n个整数,但这个数组已被旋转过多次,找出数组中的某个元素...

    /**  * 功能:给定一个排序后的数组.包括n个整数.但这个数组已被旋转过多次,次数不详.找出数组中的某个元素.  * 能够假定数组元素原先是按从小到大的顺序排列的.  */ /*** 思路:数组被 ...

  7. 给定一个排序后的数组,包含n个整数,但这个数组已被旋转过多次,找出数组中的某个元素...

    2019独角兽企业重金招聘Python工程师标准>>> /** * 功能:给定一个排序后的数组,包含n个整数,但这个数组已被旋转过多次,次数不详.找出数组中的某个元素. * 可以假定 ...

  8. 给定一个未排序的数组,求如果数组排序之后,相邻数的最大差值。

    给定一个未排序的数组,求如果数组排序之后,相邻数的最大差值.要求时间复杂度为O(n),且要求不能用非基于比较的排序. 首先,这个问题明显限制了不能使用直接排序的方式求解.因为基于比较的排序时间复杂度最 ...

  9. 返回一个二维整数数组中最大联通子数组的和

    题目:返回一个二维整数数组中最大联通子数组的和. 要求:输入一个二维整形数组,数组里有正数也有负数.求所有子数组的和的最大值. 一.设计思想 先求出这个这个数组中的最大值,并定位,然后找出这个值周围的 ...

最新文章

  1. tomcat更换服务器后无法显示验证码
  2. JDK8中好用的日期处理-LocalDate类-LocalTime-LocalDateTIme,mysql解决时区相差13小时的问题,日期格式器DateTimeFormatter
  3. 第十一章:集合(一)
  4. java宠物店多态源代码
  5. 大话数据结构11:队列 链表结构
  6. Google C++编程风格指南(一):背景
  7. 指针的基本操作(10.1 Basic Pointer Operations)
  8. 非常漂亮的后台登录页面
  9. 自动驾驶1-4 驾驶分类Taxonomy of Driving
  10. 空洞卷积(扩张卷积dilated convolution)
  11. c语言的快速排序,C语言实现快速排序法(分治法)
  12. 控制系统伯德图、带宽及动态响应的关联性
  13. 43.于电脑右下角的小喇叭不见了的解决
  14. Altium Designer20 PCB规则设置
  15. 2008服务器安全修复,Windows 2008操作系统漏洞临时修复方法
  16. 好用的BUG、内存泄露捕捉工具 EurekaLog v6.0.3 Enterprise For D5-D2007
  17. 什么是特征向量和特征值
  18. Oracle Temp临时表空间及其故障处理
  19. uni-app H5打包上线流程
  20. 如何替换json对象中的key

热门文章

  1. MATLAB实验脉冲响应程序,MATLAB实验二.docx
  2. Windows中多指针输入技术的实现与应用(5 利用多鼠标输入框架软件实现)
  3. Blender笔记:动画曲线编辑器(Graph Editor)技巧
  4. 美国服务器传输文件特别慢,美国服务器为什么访问速度在国内很慢
  5. 蓝桥杯单片机 | 特训案例【进阶06】基于PCF8591的DAC模拟电压输出
  6. 计算机校本培训心得,信息技术校本培训心得体会.docx
  7. 如何从数据库数据获取到前台页面
  8. 中国手机企业在印度市场全面取得优势
  9. 论文阅读——Densely Connected Convolutional Networks
  10. 少年黑客对自由软件的自由漫谈