Java icon indicating copy to clipboard operation
Java copied to clipboard

[Request] Add Nearest Greater and Smaller Element Algorithms

Open adiancodes opened this issue 2 months ago • 4 comments

What would you like to Propose?

Proposal: Add a new file containing a set of classic stack-based algorithms.

Algorithm Name and Problem Statement: I propose adding a new file, NearestElement.java, to the datastructures/stacks package. This file will implement four closely related algorithms:

  1. Nearest Greater to Right: For each element in an array, find the first element to its right that is greater.
  2. Nearest Greater to Left: For each element in an array, find the first element to its left that is greater.
  3. Nearest Smaller to Right: For each element in an array, find the first element to its right that is smaller.
  4. Nearest Smaller to Left: For each element in an array, find the first element to its left that is smaller.

Justification: These algorithms are a fundamental application of the Stack data structure. They are highly valuable for educational purposes and are common in technical interviews and for solving many popular LeetCode problems.

Hacktoberfest Contribution: I would like to work on this for Hacktoberfest. I have read the CONTRIBUTING.md guidelines and will ensure my submission includes a main method for demonstration and a full suite of JUnit 5 tests.

Issue details

Is your feature request related to a problem? Please describe. This request is to add a set of classic algorithms that are excellent demonstrations of the Stack data structure. These are frequently asked in technical interviews and would be a valuable addition to the library. They are also fundamental for solving many popular LeetCode problems involving arrays and stacks.

Describe the solution you'd like I would like to add a new file, NearestElement.java, inside the datastructures/stacks package. This file will contain four static methods:

  • nearestGreaterToRight(int[] arr)
  • nearestGreaterToLeft(int[] arr)
  • nearestSmallerToRight(int[] arr)
  • nearestSmallerToLeft(int[] arr)

Additional context I would like to work on this contribution for Hacktoberfest.

I have read the CONTRIBUTING.md guidelines and will ensure my pull request includes:

  1. A class-level Javadoc explaining the algorithms.
  2. A main method inside NearestElement.java for demonstration.
  3. A corresponding NearestElementTest.java file with JUnit 5 tests.

Could you please assign this issue to me?

Additional Information

No response

adiancodes avatar Oct 05 '25 15:10 adiancodes