1.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?
答案:
public static int single_Number(int[] num){ int result = 0; for (int i = 0; i<num.length; i++) { result =result^num[i]; } return result; }分析:
异或操作的理解:
(1)、要不整数转换成二进制在进行异或操作得到答案
(2)、0跟任何数进行异或操作都是原来的数
(3)、多个数连续进行异或操作会得到single num,因为重复数字(转换成二进制)异或操作为0.