Skip to content

Commit 7dcc34d

Browse files
author
alxkm
committed
refactor: change return from String to List
1 parent 19d7622 commit 7dcc34d

File tree

2 files changed

+22
-14
lines changed

2 files changed

+22
-14
lines changed
Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.thealgorithms.others;
22

3+
import java.util.ArrayList;
4+
import java.util.List;
5+
36
final class FloydTriangle {
47
private FloydTriangle() {
58
}
@@ -8,21 +11,20 @@ private FloydTriangle() {
811
* Generates a Floyd Triangle with the specified number of rows.
912
*
1013
* @param rows The number of rows in the triangle.
11-
* @return A string representing the Floyd Triangle.
14+
* @return A List representing the Floyd Triangle.
1215
*/
13-
public static String generateFloydTriangle(int rows) {
14-
StringBuilder triangle = new StringBuilder();
16+
public static List<List<Integer>> generateFloydTriangle(int rows) {
17+
List<List<Integer>> triangle = new ArrayList<>();
1518
int number = 1;
1619

1720
for (int i = 0; i < rows; i++) {
21+
List<Integer> row = new ArrayList<>();
1822
for (int j = 0; j <= i; j++) {
19-
triangle.append(number++).append(" ");
20-
}
21-
if (i < rows - 1) {
22-
triangle.append("\n");
23+
row.add(number++);
2324
}
25+
triangle.add(row);
2426
}
2527

26-
return triangle.toString();
28+
return triangle;
2729
}
2830
}
Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,42 @@
11
package com.thealgorithms.others;
22

3+
import org.junit.jupiter.api.Test;
4+
35
import static org.junit.jupiter.api.Assertions.assertEquals;
46

5-
import org.junit.jupiter.api.Test;
7+
import java.util.Arrays;
8+
import java.util.List;
69

710
public class FloydTriangleTest {
811

912
@Test
1013
public void testGenerateFloydTriangleWithValidInput() {
11-
String expectedOutput = "1 \n2 3 \n4 5 6 ";
14+
List<List<Integer>> expectedOutput = Arrays.asList(Arrays.asList(1), Arrays.asList(2, 3), Arrays.asList(4, 5, 6));
1215
assertEquals(expectedOutput, FloydTriangle.generateFloydTriangle(3));
1316
}
1417

1518
@Test
1619
public void testGenerateFloydTriangleWithOneRow() {
17-
String expectedOutput = "1 ";
20+
List<List<Integer>> expectedOutput = Arrays.asList(Arrays.asList(1));
1821
assertEquals(expectedOutput, FloydTriangle.generateFloydTriangle(1));
1922
}
2023

2124
@Test
2225
public void testGenerateFloydTriangleWithZeroRows() {
23-
assertEquals("", FloydTriangle.generateFloydTriangle(0));
26+
List<List<Integer>> expectedOutput = Arrays.asList();
27+
assertEquals(expectedOutput, FloydTriangle.generateFloydTriangle(0));
2428
}
2529

2630
@Test
2731
public void testGenerateFloydTriangleWithNegativeRows() {
28-
assertEquals("", FloydTriangle.generateFloydTriangle(-3));
32+
List<List<Integer>> expectedOutput = Arrays.asList();
33+
assertEquals(expectedOutput, FloydTriangle.generateFloydTriangle(-3));
2934
}
3035

3136
@Test
3237
public void testGenerateFloydTriangleWithMultipleRows() {
33-
String expectedOutput = "1 \n2 3 \n4 5 6 \n7 8 9 10 \n11 12 13 14 15 ";
38+
List<List<Integer>> expectedOutput = Arrays.asList(Arrays.asList(1), Arrays.asList(2, 3), Arrays.asList(4, 5, 6), Arrays.asList(7, 8, 9, 10), Arrays.asList(11, 12, 13, 14, 15));
3439
assertEquals(expectedOutput, FloydTriangle.generateFloydTriangle(5));
3540
}
3641
}
42+

0 commit comments

Comments
 (0)