Skip to content

Artem-SPb/codingbat-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Algorithmic Problem Solving Journey

Java Python LeetCode

Welcome to my personal algorithmic training ground! This repository is a collection of my solutions to various coding challenges, reflecting my continuous journey to improve in Data Structures and Algorithms.

This repository is part of my larger Developer Portfolio.

📚 About The Project

The goal of this repository is simple: to solve and thoroughly analyze coding problems regularly. I believe that consistent practice is the key to mastering algorithms. Here, you'll find not just the source code, but also explanations, complexity analyses (Big O), and thoughts on alternative approaches.

🎯 Current Focus Platforms

  • LeetCode: Focusing on core data structures (Trees, Hash Maps, Arrays) and common algorithmic patterns (Two Pointers, Binary Search, Sliding Window).
  • CodingBat: Great for quick warm-ups and mastering the syntax nuances of Java and Python.

📂 Repository Structure

The project is carefully organized to make navigation easy and intuitive:

📦 codingbat-practice
 ┣ 📂 LeetCode
 ┃ ┣ 📂 0001-0100                 # Grouped by problem number (e.g., 1 to 100)
 ┃ ┃ ┗ 📂 0001-Two-Sum            # Individual problem directory
 ┃ ┃ ┃ ┣ 📜 README.md             # Task description, logic, and Big O analysis
 ┃ ┃ ┃ ┗ 📜 solution.py           # The code implementation
 ┃ ┣ 📂 0100-0200
 ┃ ...
 ┣ 📂 java                        # CodingBat solutions in Java
 ┃ ┣ 📂 warmup-1                  # Grouped by CodingBat categories
 ┃ ┃ ┗ 📜 SleepIn.java            # Code implementation
 ┃ ...
 ┗ 📂 python                      # CodingBat solutions in Python
   ┣ 📂 warmup-1
   ┃ ┗ 📜 sleep_in.py             
   ...

📊 Progress & Stats

Currently, the repository contains solutions for:

  • LeetCode: 18 carefully analyzed problems (primarily Python).
  • CodingBat: 19 warmup problems, solved in both Java and Python.

Topics Covered: Arrays, Hash Tables, Two Pointers, Binary Search, Trees (DFS/BFS).

💡 How I Approach Problems

  1. Understand the task: Break down the requirements and edge cases.
  2. Draft a solution: Often starting with a brute-force approach to get a working baseline.
  3. Optimize: Look for patterns (e.g., using a Hash Map instead of nested loops) to improve Time and Space complexity.
  4. Document: Write down the final approach and its Big O notation in the problem's README.md.

🤝 Let's Connect

Feel free to explore the code! If you are reviewing my portfolio and have suggestions or see a place for optimization, I am always open to feedback.

About

My 15-month journey of solving daily problems on Coding Bat. Python & Java.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors