Welcome to my personal Python learning repository, where I document my progress in solving algorithmic and programming challenges. This repo serves both as a learning log and a collection of solutions to various tasks from online platforms and structured training programs.
This folder contains my solutions to selected LeetCode problems. Each file or subfolder corresponds to a specific problem, often including:
- The problem statement or link
- My Python solution
- Time and space complexity analysis
- Notes on alternative approaches
Example structure:
Leetcode/
βββ 001_two_sum.py
βββ 021_merge_two_sorted_lists.py
βββ 070_climbing_stairs.py
βββ README.md
This folder contains materials and solutions from Yandex Training on Algorithms 6.0. It includes both problem descriptions and implemented solutions, covering topics such as:
- Sorting and searching
- Data structures (stacks, queues, heaps)
- Graphs and dynamic programming
- Greedy and combinatorial algorithms
Example structure:
Yandex Algo 6.0/
βββ 01_introduction/
β βββ task_A.py
| βββ task_A_readme.md
β βββ task_B.py
βββ 02_sorting/
β βββ quick_sort.py
β βββ merge_sort.py
βββ README.md
This repository is intended to:
- Track my progress in Python and algorithmic problem solving.
- Serve as a reference base for future interview preparation.
- Improve my coding style, performance awareness, and documentation skills.
- Reflect my growth through consistent practice and structured learning.
- Python 3.11+
- Standard libraries:
itertools,collections,heapq,math,bisect, etc. - Occasionally:
numpy,pandas,matplotlibfor analysis or visualization.
- Add unit tests for selected solutions.
- Create Jupyter notebooks explaining complex problems step by step.
- Include visual explanations (e.g., recursion trees, DP tables).
- Expand with Codeforces, AtCoder, and Kaggle problem sets.
Nuradil Serik π Astana, Kazakhstan π Computer Science student @ Nazarbayev University π LinkedIn