Maximum triangle path sum: Difference between revisions
Content added Content deleted
(→{{header|Java}}: added Java) |
m (→{{header|Java}}: small changes) |
||
Line 310: | Line 310: | ||
{{works with|Java|8}} |
{{works with|Java|8}} |
||
<lang java>import java.nio.file.*; |
<lang java>import java.nio.file.*; |
||
import java.util.Arrays; |
import static java.util.Arrays.stream; |
||
public class MaxPathSum { |
public class MaxPathSum { |
||
Line 316: | Line 316: | ||
public static void main(String[] args) throws Exception { |
public static void main(String[] args) throws Exception { |
||
int[][] data = Files.lines(Paths.get("triangle.txt")) |
int[][] data = Files.lines(Paths.get("triangle.txt")) |
||
.map(s -> |
.map(s -> stream(s.trim().split("\\s+")) |
||
.mapToInt(Integer::parseInt) |
.mapToInt(Integer::parseInt) |
||
.toArray()) |
.toArray()) |
||
Line 322: | Line 322: | ||
for (int r = data.length - 1; r > 0; r--) |
for (int r = data.length - 1; r > 0; r--) |
||
for (int c = 0; c < data[r].length - 1; c++) |
for (int c = 0; c < data[r].length - 1; c++) |
||
data[r - 1][c] += Math.max(data[r][c], data[r][c + 1]); |
|||
data[r - 1][c] = Math.max(n + data[r][c], n + data[r][c + 1]); |
|||
} |
|||
System.out.println(data[0][0]); |
System.out.println(data[0][0]); |