LeetCode符号化問題2020年/12/12-単番号
[質問]
Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.
Follow up: Could you implement a solution with a linear runtime complexity and without using extra memory?
要約)要素に重複しない数字return
.
[回答] var singleNumber = function(nums) {
const set = [...new Set(nums)];
const length = set.length
for(let i = 0; i < length; i++) {
const index = nums.indexOf(set[i]);
if(nums.indexOf(set[i], index + 1) < 0) return set[i];
}
};
まず、set
を使用して重複除外を行い、set
要素のうち、numbs
配列で最初に見つかったindex
は、index
がなければreturn
の数である.var singleNumber = function(nums) {
for(let i = 0; i < nums.length; i++) {
const index = nums.indexOf(nums[i]);
if(nums.indexOf(nums[i], index + 1) < 0) return nums[i];
}
};
考えてみれば、set
を書く必要はありません.自分でrefactoring
を探すようにします.var singleNumber = function(nums) {
for(let i = 0; i < nums.length; i++) {
if(nums.indexOf(nums[i], nums.indexOf(nums[i]) + 1) < 0) return nums[i];
}
};
index
を別の変数に変えても1回しか使わないので削除してからもう少し短くします
Reference
この問題について(LeetCode符号化問題2020年/12/12-単番号), 我々は、より多くの情報をここで見つけました
https://velog.io/@hemtory/LeetCode20201212
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
var singleNumber = function(nums) {
const set = [...new Set(nums)];
const length = set.length
for(let i = 0; i < length; i++) {
const index = nums.indexOf(set[i]);
if(nums.indexOf(set[i], index + 1) < 0) return set[i];
}
};
まず、set
を使用して重複除外を行い、set
要素のうち、numbs
配列で最初に見つかったindex
は、index
がなければreturn
の数である.var singleNumber = function(nums) {
for(let i = 0; i < nums.length; i++) {
const index = nums.indexOf(nums[i]);
if(nums.indexOf(nums[i], index + 1) < 0) return nums[i];
}
};
考えてみれば、set
を書く必要はありません.自分でrefactoring
を探すようにします.var singleNumber = function(nums) {
for(let i = 0; i < nums.length; i++) {
if(nums.indexOf(nums[i], nums.indexOf(nums[i]) + 1) < 0) return nums[i];
}
};
index
を別の変数に変えても1回しか使わないので削除してからもう少し短くしますReference
この問題について(LeetCode符号化問題2020年/12/12-単番号), 我々は、より多くの情報をここで見つけました https://velog.io/@hemtory/LeetCode20201212テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol