剑指offer——数组中只出现一次的数字
1 题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
2 我的解题思路
由题目描述可知,该数组肯定是偶数数组,因此可以先对数组内元素进行排序:Arrays.sort(array);
,然后对数组内元素进行两两比较,若不同,则找到了该数字。
因此该编码最简单的方式是利用两个for循环,对数组进行遍历。第一个for循环从前往后遍历,找到第一个只出现一次的数字,赋值给 num1[0]。第二个for循环从后往前进行遍历,找到第一个只出现一次的数字,赋值给 num2[0]。
注意,每找到一个只出现一次的数字之后,就跳出for循环(break)。
两两比较时注意前置加加和后置加加的区别。
3 我的编码
//num1,num2分别为长度为1的数组。传出参数
//将num1[0],num2[0]设置为返回结果
import java.util.Arrays;
public class Solution {
public void FindNumsAppearOnce(