Skip to content

Commit 5397824

Browse files
refactor 364
1 parent 6b4d02b commit 5397824

File tree

1 file changed

+28
-23
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+28
-23
lines changed

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

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66
import java.util.List;
77
import java.util.Queue;
88

9-
/**Given a nested list of integers, return the sum of all integers in the list weighted by their depth.
9+
/**
10+
* 364. Nested List Weight Sum II
11+
*
12+
* Given a nested list of integers, return the sum of all integers in the list weighted by their depth.
1013
1114
Each element is either an integer, or a list -- whose elements may also be integers or other lists.
1215
@@ -19,32 +22,34 @@
1922
Given the list [1,[4,[6]]], return 17. (one 1 at depth 3, one 4 at depth 2, and one 6 at depth 1; 1*3 + 4*2 + 6*1 = 17)*/
2023
public class _364 {
2124

22-
public int depthSumInverse(List<NestedInteger> nestedList) {
23-
Queue<NestedInteger> q = new LinkedList<NestedInteger>();
24-
for (NestedInteger next : nestedList) {
25-
q.offer(next);
26-
}
27-
int prev = 0;
28-
int total = 0;
29-
30-
while (!q.isEmpty()) {
31-
int size = q.size();
32-
int levelSum = 0;
33-
for (int i = 0; i < size; i++) {
34-
NestedInteger next = q.poll();
35-
if (next.isInteger()) {
36-
levelSum += next.getInteger();
37-
} else {
38-
List<NestedInteger> list = next.getList();
39-
for (NestedInteger n : list) {
40-
q.offer(n);
25+
public static class Solution1 {
26+
public int depthSumInverse(List<NestedInteger> nestedList) {
27+
Queue<NestedInteger> q = new LinkedList<>();
28+
for (NestedInteger next : nestedList) {
29+
q.offer(next);
30+
}
31+
int prev = 0;
32+
int total = 0;
33+
34+
while (!q.isEmpty()) {
35+
int size = q.size();
36+
int levelSum = 0;
37+
for (int i = 0; i < size; i++) {
38+
NestedInteger next = q.poll();
39+
if (next.isInteger()) {
40+
levelSum += next.getInteger();
41+
} else {
42+
List<NestedInteger> list = next.getList();
43+
for (NestedInteger n : list) {
44+
q.offer(n);
45+
}
4146
}
4247
}
48+
prev += levelSum;
49+
total += prev;
4350
}
44-
prev += levelSum;
45-
total += prev;
51+
return total;
4652
}
47-
return total;
4853
}
4954

5055
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy