版权声明:随意复制转载,走捷径懒省事是中国IT的一大悲哀,继承和创新再到原创才是人间正道 https://blog.csdn.net/IndexMan/article/details/83104699
我用双循环加标记位实现的,效率不高。大家凑活看。
package com.dylan.practice.leetcode;
/**
* 只出现一次的数字
*
* 输入: [2,2,1]
* 输出: 1
*
* @author xusucheng
* @create 2018-10-17
**/
public class SingleNumber {
public static int singleNumber(int[] nums) {
boolean single;
for (int i = 0; i < nums.length; i++) {
single = true;
for (int j = 0; j < nums.length; j++) {
if (i != j && nums[i] == nums[j]) {
single = false;
break;
}
}
if (single) {
return nums[i];
}
}
return 0;
}
public static void main(String[] args) {
int[] nums = {4,1,2,1,2};
System.out.println(singleNumber(nums));
}
}
输出:4