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:

  1. Basic scripts (Python datatypes and structures)

  2. LintCode/LeetCode tasks and solutions

  3. Python code to solve a real world tasks

What is available on the LeetCode/LintCode sites

  1. Task description (See Note 1)

  2. Examples

  3. Hints

  4. References to similar tasks

  5. Solution (See Notes 2, 3, and 4)

Notes:

  1. To get access to the description of some tasks you have to have subscription

  2. In most cases the tasks does not have description of the solution or required subscription

  3. The old version of Python (2.x) is used

  4. 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:

  1. Common algorithms:
    • Recursion

    • Backtracking

    • Dynamic Programming

    • Greedy

    • Sort

    • Searchers (DFS, BFS, BST, binary)

  2. Data structures and techniques:
    • Array

    • String

    • Heap

    • Stack

    • Queue

    • Tree

    • Linked List

    • Hash Table

    • Bit Manipulation

    • Two Pointers

    • Math

    • Decorators

  3. 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

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)

History

The history of changes in the Project is available on this page