Skip to content

Commit 06f2265

Browse files
committed
add 1200
1 parent 7d6fddb commit 06f2265

2 files changed

Lines changed: 33 additions & 1 deletion

File tree

javascript/LeetCode/Array/1200.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* 1200. Minimum Absolute Difference
3+
*
4+
* 給一個無重複元素的數字陣列,找出兩個元素間相差最小的元素並將它們歸類為一組,回傳陣列為二維陣列,必須遞增方式排序[a,b]
5+
* a < b
6+
* b - a = 每組最小相等值
7+
*
8+
* @param {number[]} arr
9+
* @return {number[][]}
10+
*/
11+
var minimumAbsDifference = function(arr) {
12+
arr.sort((a,b) => a - b);
13+
let min = Infinity;
14+
let res = [];
15+
for(let i = 1;i < arr.length;++i) {
16+
let diff = arr[i] - arr[i-1];
17+
if(diff < min){
18+
min = diff;
19+
res = [i - 1];
20+
}else if(diff === min){
21+
res.push(i - 1);
22+
}
23+
}
24+
return res.map(i => [arr[i], arr[i + 1]]);
25+
};
26+
// let nums = [4,2,1,3];
27+
// Output: [[1,2],[2,3],[3,4]]
28+
// Explanation: The minimum absolute difference is 1. List all pairs with difference equal to 1 in ascending order.
29+
let nums = [-17,46,63,81,-101,-91,121,-2,112,-15,-65,-96,6,-139];
30+
// [[-17,15]]
31+
console.log(minimumAbsDifference(nums));

javascript/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1274,4 +1274,5 @@ let arr = ["IAMDEFANDJKL","thedefgh","xyzDEFghijabc"];
12741274
// assert.deepEqual(solve(["encode","abc","xyzD","ABmD"]),[1, 3, 1, 3]);
12751275
// });
12761276
// });
1277-
console.log(solve(arr))
1277+
// console.log(solve(arr))
1278+

0 commit comments

Comments
 (0)