Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions javascript/LeetCode/Array/645.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/**
* 645. Set Mismatch
*
* 參數為數字陣列,從1至n,但內有重複的元素,找出重複的元素並調整成對的元素,變成1至N且無重複的元素
*
* @param {number[]} nums
* @return {number[]}
*/
var findErrorNums = function(nums) {
// TC:O(N)
let map = new Map();
let duplicate = 0, missing = 0;
for(let i = 1;i <= nums.length;++i){
map.set(i,0);
}
// 增加或減少
for(const ele of nums){
map.set(ele,map.get(ele) - 1);
}
// console.log(map)
for(const [key,value] of map) {
if(value === -2){
duplicate = key
}
if(value === 0){
missing = key;
}
}
return [duplicate,missing];
};
let nums = [1,2,2,4];
// [2,3]
console.log(findErrorNums(nums));
28 changes: 1 addition & 27 deletions javascript/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -1385,32 +1385,6 @@ Query 2: The element at queries[2] = 5 is nums[5] = 3. The nearest index with th
*/
// console.log(solveQueries(nums,queries));

/**
* 645. Set Mismatch
*
* 參數為數字陣列,從1至n,但內有重複的元素,找出它們並調整成對的元素
*
* @param {number[]} nums
* @return {number[]}
*/
var findErrorNums = function(nums) {
let res = [];
let map = new Map();
for(const ele of nums){
map.has(ele) ? map.set(ele,map.get(ele) + 1 ) : map.set(ele,1);
}
// console.log(map)
for(const [key,value] of map) {
if(value >= 2){
console.log(key);

}
}
};
let nums = [1,2,2,4];
// [2,3]
// console.log(findErrorNums(nums));


/**
* 2864. Maximum Odd Binary Number
Expand All @@ -1429,4 +1403,4 @@ var maximumOddBinaryNumber = function(s) {
let s = "010";
// Output: "001"
// Explanation: Because there is just one '1', it must be in the last position. So the answer is "001".
console.log(maximumOddBinaryNumber(s));
// console.log(maximumOddBinaryNumber(s));
Loading