About¶
Overview¶
Welcome to PyHowTo Project. The goal of the Project is to provide an examples (HowTo) of classified solutions of differenet tasks on Python 3.x.
The Project included Python 3.x tasks and solutions and divided into 3 sections:
Basic scripts (Python datatypes and structures)
LintCode/LeetCode tasks and solutions
Python code to solve a real world tasks
What is available on the LeetCode/LintCode sites¶
Task description (See Note 1)
Examples
Hints
References to similar tasks
Solution (See Notes 2, 3, and 4)
Notes:
To get access to the description of some tasks you have to have subscription
In most cases the tasks does not have description of the solution or required subscription
The old version of Python (2.x) is used
Some tasks have C/C++ or Java solutions only, not Python
What’s new in the Project¶
1. Full access¶
Full list of the tasks from LeetCode/LintCode sites include all tasks, even hidden, removed or available by subscription only
2. Classification¶
All tasks are classified i.e. splitted into the Groups on the base of:
- Common algorithms:
Recursion
Backtracking
Dynamic Programming
Greedy
Sort
Searchers (DFS, BFS, BST, binary)
- Data structures and techniques:
Array
String
Heap
Stack
Queue
Tree
Linked List
Hash Table
Bit Manipulation
Two Pointers
Math
Decorators
- Applications:
Spark
Tkinter
Turtle
Web
Games
3. Python 3.x¶
All solutions use Python 3.x syntax, modules and data types.
4. Test Cases¶
All examples of the solutions have Test Cases (assert base conditions)
All test cases are executed during building the Project
5. Time and space complexity (BigO)¶
All solutions of the tasks include time and space complexity info
6. Combined References¶
Provided a combined references to a similar tasks from both LeetCode and LintCode sites
7. Level Markers¶
All tasks are divided into 3 leveles of complexity (easy, medium, and hard) in each of the Group and marked by color
8. Quick Search¶
Quick search of the task and solutions by key word(s)
9. Independent “Tutorial” group of scripts¶
Added the group of tasks for the beginners, as well as for intermediate or advanced users
10. Format¶
The tasks and solutions are created in the .rst and convenient Jupiter Notebook formats
Who is the Project for?¶
The classified set of Python 3.x scripts are for a wide group of Python 3.x users: from beginners to professionals and could be used> for instance, during the passing of the job interview or in a daily programming practice.
TODO¶
The list of scripts is updated on the regular base (See History)