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

https://github.com/uppnrise/daily-coding-problems

Daily coding problems and solutions - Interview preparation and algorithm practice
https://github.com/uppnrise/daily-coding-problems

algorithms coding-problems daily-coding-problem data-structures interview-prep java

Last synced: 2 months ago
JSON representation

Daily coding problems and solutions - Interview preparation and algorithm practice

Awesome Lists containing this project

README

          

# Daily Coding Problems Repository

A collection of daily coding problems and their solutions, primarily focused on problems from [dailycodingproblem.com](https://dailycodingproblem.com) and other competitive programming platforms.

## 🎯 Goal
Solve one coding problem daily to improve algorithmic thinking and programming skills. Solutions are organized by difficulty level and include detailed explanations.

## 📁 Repository Structure

```
src/main/java/com/dailyproblems/
├── easy/ # Easy difficulty problems
├── medium/ # Medium difficulty problems
└── hard/ # Hard difficulty problems
```

## 🚀 How to Run

### Prerequisites
- Java 11 or higher
- VS Code with Java Extension Pack (recommended)

### Running Solutions

1. **Using VS Code:**
- Open the project in VS Code
- Navigate to any solution file
- Use `Ctrl+F5` (or `Cmd+F5` on Mac) to run without debugging
- Or use `F5` to run with debugging

2. **Using Command Line:**
```bash
# Compile a specific solution
javac src/main/java/com/dailyproblems/easy/ProblemName.java

# Run the compiled solution
java -cp src/main/java com.dailyproblems.easy.ProblemName
```

3. **Using Java Extension in VS Code:**
- Click the "Run" button that appears above the main method
- Or use the Command Palette (`Ctrl+Shift+P`) and search for "Java: Run"

## 📝 Solution Format

Each solution follows this structure:

```java
/**
* Problem: [Problem Title]
*
* Problem Statement:
* [Detailed problem description]
*
* Example:
* Input: [example input]
* Output: [example output]
*
* Approach:
* [Explanation of the solution approach]
*
* Time Complexity: O(...)
* Space Complexity: O(...)
*/
public class ProblemName {

public static void main(String[] args) {
// Test cases and example usage
}

// Solution methods with detailed comments
}
```

## 📊 Progress Tracking

### Problems Solved by Difficulty
- **Easy:** 2 problems (TwoSum, TwoNumbersSumToK)
- **Medium:** 3 problems (BinaryTreeMaxDepth, BinaryTreeSerialization, FunctionalPairs)
- **Hard:** 3 problems (RegularExpressionMatching, ProductOfArrayExceptSelf, SingleNumberII)

**Total:** 8 problems solved

### Recent Problems
- **July 22, 2025**: Functional Pairs Implementation - Jane Street Interview (Medium)
- **July 8, 2025**: Binary Tree Serialization and Deserialization - Google Interview (Medium)
- **July 7, 2025**: Single Number II - Google Interview (Hard)
- **July 6, 2025**: Product of Array Except Self - Uber Interview (Hard)
- **June 30, 2025**: Two Numbers Sum to K - Google Interview (Easy)

## 🔄 Daily Commitment

- **Goal:** Solve at least 1 problem per day
- **Primary Source:** [dailycodingproblem.com](https://dailycodingproblem.com)
- **Additional Sources:** LeetCode, HackerRank, Codewars (planned)

## 🌟 Languages

- **Primary:** Java ☕
- **Planned:** Python 🐍, JavaScript, C++

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🤝 Contributing

This is primarily a personal learning repository, but feel free to:
- Report bugs or suggest improvements
- Share alternative solutions
- Discuss different approaches in issues

---

*Happy Coding! 🚀*