剑指offer 40.数组中只出现一次的数字
题目
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
思路
如果只有一个数,当然是异或更好用,相同数字异或为0,但是有两个数字,这种方法无法快速找到,所以不如用hashset,如果存在就删除,不存在就加入,最后把两个数字取出来即可。
代码
1 | public void FindNumsAppearOnce(int[] array, int num1[], int num2[]) { |
缘何不懂,坚持不懈磨砺精炼
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
如果只有一个数,当然是异或更好用,相同数字异或为0,但是有两个数字,这种方法无法快速找到,所以不如用hashset,如果存在就删除,不存在就加入,最后把两个数字取出来即可。
1 | public void FindNumsAppearOnce(int[] array, int num1[], int num2[]) { |
微信支付
支付宝