我是靠谱客的博主 年轻高跟鞋,这篇文章主要介绍算法:一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。,现在分享给大家,希望可以做个参考。

// 示例
输入:nums = [4,1,4,6]
输出:[1,6][6,1]
输入:nums = [1,2,10,4,1,4,3,3]
输出:[2,10][10,2]
/**
* 时间:104 ms
* 内存:42.8 MB
*
* 1. 统计每个数字出现的次数,{1: 2, 2: 1, 3: 2, 4: 2, 10: 1}
* 2. 把出现次数为1的放入数组输出,["2", "10"]
* */
var singleNumbers = function(nums) {
const statistics = {};
const result = [];
nums.forEach(item => {
statistics[item] ? statistics[item]++ : statistics[item] = 1;
});
for (let key in statistics) {
if (statistics[key] === 1) {
result.push(key)
}
}
return result;
};
// todo 目前最优解好像是用位运算,以后学到再补上

最后

以上就是年轻高跟鞋最近收集整理的关于算法:一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。的全部内容,更多相关算法:一个整型数组内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(125)

评论列表共有 0 条评论

立即
投稿
返回
顶部