Skip to content

Commit 7c59c48

Browse files
committed
add 3718
1 parent 0d70de9 commit 7c59c48

2 files changed

Lines changed: 55 additions & 30 deletions

File tree

javascript/LeetCode/Array/3718.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/**
2+
* 3718. Smallest Missing Multiple of K
3+
*
4+
* 取得能被k整除且是所有能被k整除的最小數且不在nums中的元素並回傳
5+
*
6+
* @param {number[]} nums
7+
* @param {number} k
8+
* @return {number}
9+
*/
10+
var missingMultiple = function(nums, k) {
11+
// solution 1.Runtime 2 ms.
12+
// let divisibleByK = [];
13+
// let ans = 0;
14+
// for(let i = 1;i < nums.length+2;++i) {
15+
// divisibleByK.push(i*k);
16+
// }
17+
// for(let i = 0;i < divisibleByK.length;++i) {
18+
// if(!nums.includes(divisibleByK[i])){
19+
// ans = divisibleByK[i];
20+
// break;
21+
// }
22+
// }
23+
// return ans;
24+
25+
// solution 2.Runtime 1 ms.
26+
// let map = new Map();
27+
// let ans = 0;
28+
// for(let i = 0;i < nums.length;++i) {
29+
// map.set(nums[i],1);
30+
// }
31+
// for(let i = 1;i < nums.length+2;++i) {
32+
// if(!map.has(i * k)){
33+
// ans = i * k;
34+
// break;
35+
// }
36+
// }
37+
// return ans;
38+
39+
// solution 3.
40+
let set = new Set(nums);
41+
for(let i = k;;i+=k) {
42+
if(!set.has(i)){
43+
return i;
44+
}
45+
}
46+
};
47+
// let nums = [1,4,7,10,15], k = 5;
48+
// 5
49+
let nums = [8,2,3,4,6], k = 2;
50+
// 10
51+
// let nums = [99],k = 99;
52+
// 198
53+
// let nums = [2,4,6,8,10],k = 2;
54+
// 12
55+
console.log(missingMultiple(nums,k));

javascript/index.js

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,33 +1049,3 @@ let numerator = 1, denominator = 2;
10491049

10501050

10511051

1052-
/**
1053-
* 3718. Smallest Missing Multiple of K
1054-
*
1055-
* 取得能被k整除且是所有能被k整除的最小數且不在nums中的元素並回傳
1056-
*
1057-
* @param {number[]} nums
1058-
* @param {number} k
1059-
* @return {number}
1060-
*/
1061-
var missingMultiple = function(nums, k) {
1062-
let divisibleByK = [];
1063-
let ans = 0;
1064-
for(let i = 1;i <= 5;++i) {
1065-
divisibleByK.push(i*k);
1066-
}
1067-
for(let i = 0;i < divisibleByK.length;++i) {
1068-
if(!nums.includes(divisibleByK[i])){
1069-
ans = divisibleByK[i];
1070-
break;
1071-
}
1072-
}
1073-
return ans;
1074-
};
1075-
// let nums = [1,4,7,10,15], k = 5;
1076-
// 5
1077-
// let nums = [8,2,3,4,6], k = 2;
1078-
// 10
1079-
let nums = [99],k = 99;
1080-
// 198
1081-
console.log(missingMultiple(nums,k));

0 commit comments

Comments
 (0)