我是靠谱客的博主 年轻高跟鞋,最近开发中收集的这篇文章主要介绍算法:一个整型数组 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 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。的全部内容,希望文章能够帮你解决算法:一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复