Skip to content

Commit 0881535

Browse files
refactor 313
1 parent f7d95f2 commit 0881535

File tree

1 file changed

+16
-14
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+16
-14
lines changed

src/main/java/com/fishercoder/solutions/_313.java

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
* are in the given prime list primes of size k.
99
* For example, [1, 2, 4, 7, 8, 13, 14, 16, 19, 26, 28, 32]
1010
* is the sequence of the first 12 super ugly numbers given primes = [2, 7, 13, 19] of size 4.
11+
*
1112
* Note:
1213
* (1) 1 is a super ugly number for any given primes.
1314
* (2) The given numbers in primes are in ascending order.
@@ -16,27 +17,28 @@
1617
*/
1718
public class _313 {
1819

19-
public int nthSuperUglyNumber(int n, int[] primes) {
20-
int[] ret = new int[n];
21-
ret[0] = 1;
20+
public static class Solution1 {
21+
public int nthSuperUglyNumber(int n, int[] primes) {
22+
int[] ret = new int[n];
23+
ret[0] = 1;
2224

23-
int[] indexes = new int[primes.length];
25+
int[] indexes = new int[primes.length];
2426

25-
for (int i = 1; i < n; i++) {
26-
ret[i] = Integer.MAX_VALUE;
27+
for (int i = 1; i < n; i++) {
28+
ret[i] = Integer.MAX_VALUE;
2729

28-
for (int j = 0; j < primes.length; j++) {
29-
ret[i] = Math.min(ret[i], primes[j] * ret[indexes[j]]);
30-
}
30+
for (int j = 0; j < primes.length; j++) {
31+
ret[i] = Math.min(ret[i], primes[j] * ret[indexes[j]]);
32+
}
3133

32-
for (int j = 0; j < indexes.length; j++) {
33-
if (ret[i] == primes[j] * ret[indexes[j]]) {
34-
indexes[j]++;
34+
for (int j = 0; j < indexes.length; j++) {
35+
if (ret[i] == primes[j] * ret[indexes[j]]) {
36+
indexes[j]++;
37+
}
3538
}
3639
}
40+
return ret[n - 1];
3741
}
38-
39-
return ret[n - 1];
4042
}
4143

4244
}

0 commit comments

Comments
 (0)