Skip to content

Commit ef11c7a

Browse files
realDuYuanChaogithub-actions
andauthored
Next greater element (examplehub#43)
* fixed typo * next greater element * Formatted with Google Java Formatter Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
1 parent 66fdf2d commit ef11c7a

File tree

3 files changed

+43
-4
lines changed

3 files changed

+43
-4
lines changed

src/test/java/com/examplehub/datastructures/stack/ExpressionEvaluationTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ class ExpressionEvaluationTest {
88

99
@Test
1010
void evaluate() throws Exception {
11-
assertEquals(5, 2 + 3);
12-
assertEquals(-1, 2 - 3);
13-
assertEquals(0, 2 / 3);
14-
assertEquals(6, 2 * 3);
11+
assertEquals(5, ExpressionEvaluation.evaluate("2 + 3"));
12+
assertEquals(-1, ExpressionEvaluation.evaluate("2 - 3"));
13+
assertEquals(0, ExpressionEvaluation.evaluate("2 / 3"));
14+
assertEquals(6, ExpressionEvaluation.evaluate("2 * 3"));
1515
assertEquals(80, ExpressionEvaluation.evaluate("1+(2*3^4)/2-2"));
1616
assertEquals(80, ExpressionEvaluation.evaluate("1 + (2 * 3 ^ 4) / 2 - 2"));
1717
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.examplehub.maths;
2+
3+
public class NextGreaterElement {
4+
5+
/**
6+
* Calculate next greater element of array.
7+
*
8+
* @param array the array to be searched.
9+
* @return next greater element array.
10+
*/
11+
public static int[] nextGreater(int[] array) {
12+
for (int i = 0; i < array.length; i++) {
13+
int nextGreater = -1;
14+
for (int j = i + 1; j < array.length; j++) {
15+
if (array[j] > array[i]) {
16+
nextGreater = array[j];
17+
break;
18+
}
19+
}
20+
array[i] = nextGreater;
21+
}
22+
return array;
23+
}
24+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.examplehub.maths;
2+
3+
import static org.junit.jupiter.api.Assertions.*;
4+
5+
import java.util.Arrays;
6+
import org.junit.jupiter.api.Test;
7+
8+
class NextGreaterElementTest {
9+
@Test
10+
void test() {
11+
assertEquals(
12+
Arrays.toString(new int[] {5, -1, 4, 5, -1}),
13+
Arrays.toString(NextGreaterElement.nextGreater(new int[] {2, 5, 3, 4, 5})));
14+
}
15+
}

0 commit comments

Comments
 (0)