Skip to content

Commit 1341e85

Browse files
authored
Improved tasks 2597, 2600, 2601
1 parent de73d15 commit 1341e85

File tree

4 files changed

+15
-8
lines changed

4 files changed

+15
-8
lines changed

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
sonar.coverage.jacoco.xmlReportPaths=build/jacoco/test/jacocoTestReport.xml
2-
org.gradle.jvmargs=-Xms256m -Xmx1024m
2+
org.gradle.jvmargs=-Xms512m -Xmx2048m

src/main/java/g2501_2600/s2597_the_number_of_beautiful_subsets/Solution.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@ public int beautifulSubsets(int[] nums, int k) {
1515
map.put(n, map.getOrDefault(n, 0) + 1);
1616
}
1717
int res = 1;
18-
for (int key : map.keySet()) {
19-
if (!map.containsKey(key - k)) {
20-
if (!map.containsKey(key + k)) {
21-
res *= 1 << map.get(key);
22-
} else {
18+
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
19+
if (!map.containsKey(entry.getKey() - k)) {
20+
if (map.containsKey(entry.getKey() + k)) {
2321
List<Integer> freq = new ArrayList<>();
24-
int localKey = key;
22+
int localKey = entry.getKey();
2523
while (map.containsKey(localKey)) {
2624
freq.add(map.get(localKey));
2725
localKey += k;
2826
}
2927
res *= helper(freq);
28+
} else {
29+
res *= 1 << entry.getValue();
3030
}
3131
}
3232
}

src/main/java/g2501_2600/s2600_k_items_with_the_maximum_sum/Solution.java

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
// #Easy #Math #Greedy #2023_08_29_Time_1_ms_(100.00%)_Space_40.3_MB_(19.10%)
44

5+
@SuppressWarnings("java:S1172")
56
public class Solution {
67
public int kItemsWithMaximumSum(int numOnes, int numZeros, int numNegOnes, int k) {
78
if (k <= numOnes) {

src/main/java/g2601_2700/s2601_prime_subtraction_operation/Solution.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,13 @@ public boolean primeSubOperation(int[] nums) {
4343
if (pos == -1 && n <= prev) {
4444
return false;
4545
}
46-
prev = n - (pos == -1 ? 0 : (pos < 0 ? primes[-pos - 2] : primes[pos]));
46+
final int index;
47+
if (pos == -1) {
48+
index = 0;
49+
} else {
50+
index = pos < 0 ? primes[-pos - 2] : primes[pos];
51+
}
52+
prev = n - index;
4753
}
4854
return true;
4955
}

0 commit comments

Comments
 (0)