Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/akarazhev/java-challenges

Java challenges
https://github.com/akarazhev/java-challenges

Last synced: about 1 month ago
JSON representation

Java challenges

Awesome Lists containing this project

README

        

# Java Challenges

## Two Pointers & Co.

This module groups together three of the most common patterns that may be used to solve problems where the input data
is linear: Two Pointers, Fast and Slow Pointers, and Modified Binary Search. Both the Two Pointers and the Modified
Binary Search patterns derive their power from their ability to efficiently reduce the size of the search space, that is,
both exemplify the divide-and-conquer approach to problem-solving. The Fast and Slow Pointers pattern may be considered
a variant of the Two Pointers pattern, where the two pointers move at different speeds in order to traverse the input
list in a way that solves the given problem. After completing this module, we will have learned how to use this set of
related patterns to solve a diverse range of problems.

**Objectives**:
- Hands-on experience with using the Two Pointers pattern
- A working knowledge of the Fast and Slow Pointers pattern
- Hands-on experience with using the Modified Binary Search pattern
- The ability to choose the most appropriate of these three patterns to solve a new problem

### Two Pointers

- [Introduction](doc/twopointers/introduction.md "Introduction")
- [Two Pointers Tasks](doc/twopointers/two_pointers.md "Two Pointers Tasks")

### Fast and Slow Pointers

- [Introduction](doc/fastandslowpointers/introduction.md "Introduction")
- [Fast and Slow Pointers Tasks](doc/fastandslowpointers/fast_and_slow_pointers.md "Fast and Slow Pointers Tasks")

### Modified Binary Search

### Conclusion

## Interview

- [Big O](doc/interview/big_o "Big O")
- [Technical Questions](doc/interview/technical_questions.md "Technical Questions")
- [Arrays and Strings](doc/interview/arrays_and_strings.md "Arrays and Strings")
- [Linked Lists](doc/interview/linked_lists.md "Linked Lists")
- [Stacks and Queues](doc/interview/stacks_and_queues.md "Stacks and Queues")
- [Trees and Graphs](doc/interview/trees_and_graphs.md "Trees and Graphs")
- [Bit Manipulation](doc/interview/bit_manipulation.md "Bit Manipulation")
- [Math and Logic Puzzles](doc/interview/math_and_logic_puzzles.md "Math and Logic Puzzles")
- [Object-Oriented Design](doc/interview/object_oriented_design.md "Object-Oriented Design")
- [Recursion and Dynamic Programming](doc/interview/recursion_and_dynamic_programming.md "Recursion and Dynamic Programming")
- [Scalability and Memory Limits](doc/interview/scalability_and_memory_limits.md "Scalability and Memory Limits")
- [Sorting and Searching](doc/interview/sorting_and_searching.md "Sorting and Searching")
- [Java](doc/interview/java.md "Java")
- [Threads and Locks](doc/interview/threads_and_locks.md "Threads and Locks")
- [Moderate](doc/interview/moderate.md "Moderate")
- [Hard](doc/interview/hard.md "Hard")