Skip to content

Commit 9a96c5d

Browse files
authored
Create 2340-minimum-adjacent-swaps-to-make-a-valid-array.js
1 parent c32ea2f commit 9a96c5d

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
const minimumSwaps = function (nums) {
6+
const mi = Math.min(...nums)
7+
const ma = Math.max(...nums)
8+
let minIdx = -1, maxIdx = -1
9+
const n = nums.length
10+
for(let i = 0; i < n; i++) {
11+
if(nums[i] === mi) {
12+
minIdx = i
13+
break
14+
}
15+
}
16+
for(let i = n - 1; i >= 0; i--) {
17+
if(nums[i] === ma) {
18+
maxIdx = i
19+
break
20+
}
21+
}
22+
23+
const num = minIdx + n - 1 - maxIdx
24+
return minIdx > maxIdx ? num - 1 : num
25+
}

0 commit comments

Comments
 (0)