要牛逼,请刻意练习
[活动]每天一题算法题
2月27日题目:
9999个数字中,只有一个数字是唯一不重复的,其他数字都是重复的。请找出这个数字。例如:1,1,2,5,5。这里唯一不重复的数字为2.
我的解法
var arr=[8,9,10,1,2,8,9,10,1];
var new_arr=new Array();
var n=1;
//注意,这里直接了修改原始数组。
//new_arr=arr.slice().sort();
arr.sort();
//输出每个字符出现次数new_arr=[[1,1][2,3],[3,4]]
for (var i=0;i<arr.length;i++) {
if(arr[i] ==arr[i+1]){
n=n+1;
}else{
new_arr.push([arr[i],n]);
//不相等时候,打断n++,重新赋值
n=1;
}
}
//对输出内容进行重新排序
new_arr.sort(function (x,y) {
return x[1]-y[1];
})
console.log(new_arr[0][0]);
最优解: