Skip to content

Commit f35e25c

Browse files
committed
Fixed sonar
1 parent fc37d31 commit f35e25c

File tree

1 file changed

+12
-4
lines changed
  • src/main/java/g3501_3600/s3510_minimum_pair_removal_to_sort_array_ii

1 file changed

+12
-4
lines changed

src/main/java/g3501_3600/s3510_minimum_pair_removal_to_sort_array_ii/Solution.java

+12-4
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,24 @@ public int minimumPairRemoval(int[] nums) {
1010
if (nums.length == 1) {
1111
return 0;
1212
}
13-
int size = (int) Math.pow(2, Math.ceil(Math.log(nums.length - 1) / Math.log(2)));
13+
int size = (int) Math.pow(2, Math.ceil(Math.log(nums.length - 1.0) / Math.log(2)));
1414
long[] segment = new long[size * 2 - 1];
1515
Arrays.fill(segment, Long.MAX_VALUE);
1616
int[] lefts = new int[size * 2 - 1];
1717
int[] rights = new int[size * 2 - 1];
1818
long[] sums = new long[nums.length];
1919
Arrays.fill(sums, Long.MAX_VALUE / 2);
2020
int[][] arrIdxToSegIdx = new int[nums.length][];
21-
boolean[] isDecs = new boolean[nums.length];
2221
sums[0] = nums[0];
2322
int count = 0;
2423
arrIdxToSegIdx[0] = new int[] {-1, size - 1};
2524
for (int i = 1; i < nums.length; i++) {
2625
if (nums[i] < nums[i - 1]) {
27-
isDecs[i] = true;
2826
count++;
2927
}
3028
lefts[size + i - 2] = i - 1;
3129
rights[size + i - 2] = i;
32-
segment[size + i - 2] = nums[i - 1] + nums[i];
30+
segment[size + i - 2] = nums[i - 1] + (long) nums[i];
3331
arrIdxToSegIdx[i] = new int[] {size + i - 2, size + i - 1};
3432
sums[i] = nums[i];
3533
}
@@ -39,6 +37,16 @@ public int minimumPairRemoval(int[] nums) {
3937
int r = 2 * i + 2;
4038
segment[i] = Math.min(segment[l], segment[r]);
4139
}
40+
return getRes(count, segment, lefts, rights, sums, arrIdxToSegIdx);
41+
}
42+
43+
private int getRes(
44+
int count,
45+
long[] segment,
46+
int[] lefts,
47+
int[] rights,
48+
long[] sums,
49+
int[][] arrIdxToSegIdx) {
4250
int res = 0;
4351
while (count > 0) {
4452
int segIdx = 0;

0 commit comments

Comments
 (0)