Added new question

This commit is contained in:
hitanshu310 2025-02-28 16:38:50 +05:30
parent b57b6f14eb
commit fabcf449e3
6 changed files with 84 additions and 0 deletions

View File

@ -11,3 +11,4 @@
7. [Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/description/) `Blind 75` `Leetcode 150` `Striver` 7. [Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/description/) `Blind 75` `Leetcode 150` `Striver`
8. [3sum](https://leetcode.com/problems/3sum/description/) `Blind 75` `Leetcode 150` `Striver` 8. [3sum](https://leetcode.com/problems/3sum/description/) `Blind 75` `Leetcode 150` `Striver`
9. [Container With Most Water](https://leetcode.com/problems/container-with-most-water/description/?envType=study-plan-v2&envId=top-interview-150) `Blind 75` `Leetcode 150` 9. [Container With Most Water](https://leetcode.com/problems/container-with-most-water/description/?envType=study-plan-v2&envId=top-interview-150) `Blind 75` `Leetcode 150`
10. [Merge Intervals](https://leetcode.com/problems/merge-intervals/description/) `Leetcode 150` `Striver`

View File

@ -0,0 +1,53 @@
import os
import sys
def create_package_structure(problem_name, method_signature):
"""Creates the package structure for a LeetCode problem"""
# Convert problem name to package format (lowercase with underscores)
package_name = problem_name.lower().replace(' ', '_')
# Base package path
base_path = "dsa/src/main/java/com/hithomelabs/dsa/array"
package_path = f"{base_path}/{package_name}"
# Create package directory
os.makedirs(package_path, exist_ok=True)
# Create Solution.java
solution_content = f"""package com.hithomelabs.dsa.array.{package_name};
public class Solution implements Solvable {{
{method_signature} {{
// TODO: Implement solution
throw new UnsupportedOperationException("Not implemented yet");
}}
}}
"""
# Create Solvable.java
solvable_content = f"""package com.hithomelabs.dsa.array.{package_name};
interface Solvable {{
{method_signature};
}}
"""
# Write files
with open(f"{package_path}/Solution.java", "w") as f:
f.write(solution_content)
with open(f"{package_path}/Solvable.java", "w") as f:
f.write(solvable_content)
def main():
if len(sys.argv) != 3:
print("Usage: python generate_leetcode_structure.py \"Problem Name\" \"method_signature\"")
sys.exit(1)
problem_name = sys.argv[1]
method_signature = sys.argv[2]
create_package_structure(problem_name, method_signature)
if __name__ == "__main__":
main()

View File

@ -0,0 +1,8 @@
package com.hithomelabs.dsa.array.merge_intervals;
public class Solution {
public int[][] merge(int[][] intervals) {
// Implementation of the merge function
}
}

View File

@ -0,0 +1,5 @@
package com.hithomelabs.dsa.array.merge_intervals;
interface Solvable {
int[][] solve(int[][] intervals);
}

View File

@ -0,0 +1 @@
/home/hitanshu/Projects/DSA_sheets/dsa/src/test/java/com/hithomelabs/dsa/array/best_time_to_buy_and_sell_stock/SolutionTest.java

View File

@ -0,0 +1,16 @@
package com.hithomelabs.dsa.array.merge_intervals;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
public class SolutionTest {
@Test
void testMerge() {
Solution solution = new Solution();
// Test case from the Leetcode URL for Merge Intervals
int[][] intervals1 = {{1, 3}, {2, 6}, {8, 10}, {15, 18}};
int[][] expected1 = {{1, 6}, {8, 10}, {15, 18}};
int[][] result1 = solution.merge(intervals1);
assertArrayEquals(expected1, result1);
}
}