Skip to content

Commit 616f5ff

Browse files
authored
Create 3281-maximize-score-of-numbers-in-ranges.js
1 parent d0d8753 commit 616f5ff

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* @param {number[]} start
3+
* @param {number} d
4+
* @return {number}
5+
*/
6+
var maxPossibleScore = function (start, d) {
7+
start.sort((a, b) => a - b)
8+
let low = 0,
9+
high = start[start.length - 1] + d - start[0]
10+
while (low <= high) {
11+
let mid = low + Math.floor((high - low) / 2)
12+
if (f(start, d, mid)) {
13+
low = mid + 1
14+
} else {
15+
high = mid - 1
16+
}
17+
}
18+
return low - 1
19+
}
20+
function f(start, d, mini) {
21+
let ans = start[0]
22+
for (let i = 1; i < start.length; i++) {
23+
let nextMin = ans + mini
24+
if (nextMin > start[i] + d) {
25+
return false
26+
}
27+
ans = Math.max(start[i], nextMin)
28+
}
29+
return true
30+
}

0 commit comments

Comments
 (0)