Minimum Replacements to Sort the Array LeetCode solution in Java

1
class Solution {
2
public long minimumReplacement(int[] nums) {
3
long ret = 0L;
4
int n = nums.length;
5
int last = nums[n - 1];
6
for (int i = n - 2; i >= 0; i--) {
7
if (nums[i] <= last) {
8
last = nums[i];
9
continue;
10
}
11
if (nums[i] % last == 0) {
12
// split into nums[i] / last elements, operations cnt = nums[i] / last - 1;
13
ret += nums[i] / last - 1;
14
} else {
15
// split into k elements operations cnt = k - 1;
16
int k = nums[i] / last + 1; // ceil
17
ret += k - 1;
18
last = nums[i] / k; // left most element max is nums[i] / k
19
}
20
}
21

22
return ret;
23
}
24
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0