【菲麦算法】找唯一不重复数字

要牛逼,请刻意练习

[活动]每天一题算法题
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]);

最优解:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容