我是靠谱客的博主 年轻高跟鞋,最近开发中收集的这篇文章主要介绍算法:一个整型数组 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 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部