https://github.com/StBogdan/CTCI_python
Solutions for Interview questions appearing in the 6th edition of Cracking the Coding Interview (CTCI)
https://github.com/StBogdan/CTCI_python
algorithm-challenges algorithms-and-data-structures ctci-6th ctci-python ctci-solutions ctci6
Last synced: 23 days ago
JSON representation
Solutions for Interview questions appearing in the 6th edition of Cracking the Coding Interview (CTCI)
- Host: GitHub
- URL: https://github.com/StBogdan/CTCI_python
- Owner: StBogdan
- Created: 2020-06-06T17:57:56.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-06-26T14:49:52.000Z (almost 4 years ago)
- Last Synced: 2024-11-02T08:31:23.691Z (6 months ago)
- Topics: algorithm-challenges, algorithms-and-data-structures, ctci-6th, ctci-python, ctci-solutions, ctci6
- Language: Python
- Homepage:
- Size: 244 KB
- Stars: 330
- Watchers: 14
- Forks: 57
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- Awesome-GitHub-Repo - CTCI_python - Python 高赞面试题。[<img src="https://tva1.sinaimg.cn/large/008i3skNly1gxlhtmg11mj305k05k746.jpg" alt="微信" width="18px" height="18px" />]() (学习资源 / Python资源)
README
# Cracking the Coding Interview (6th edition) Python Solutions
> Existing Python solutions can be found [officially here](https://github.com/careercup/CtCI-6th-Edition-Python/tree/e6bc732588601d0a98e5b1bc44d83644b910978d) and [user-created here](https://github.com/w-hat/ctci-solutions)
## Current progress
| Nr. | Chapter | Done | Total | Ommited | Notes |
|:---: |:----------------------: |:----: |:-----: |:-------: | :-------: |
| 1 | [Array and String](chapter_1) | 9 | 9 | | | |
| 2 | [Linked Lists](chapter_2) | 8 | 8 | | |
| 3 | [Stacks and Queues](chapter_3) | 6 | 6 | 1 | |
| 4 | [Trees and Graphs](chapter_4) | 12 | 12 | | |
| 5 | [Bit Manipulation](chapter_5) | 8 | 8 | | |
| 6 | [Math and Logic Puzzles](chapter_6) | 10 | 10 | 4 | |
| 7 | [OO Design](chapter_7) | 0 | 12 | | |
| 8 | [Recursion and DP](chapter_8) | 14 | 14 | | |
| 9 | [System Design](chapter_9) | 0 | 8 | | See [the System Design Primer](https://github.com/donnemartin/system-design-primer) |
| 10 | [Sorting and Searching](chapter_10) | 9 | 11 | 1 | |
| 11 | [Testing](chapter_11) | 4 | 6 | 4 | |
| 12 | [C/C++](chapter_12) | 11 | 11 | 11 | |
| 13 | [Java](chapter_13) | 0 | 8 | | |
| 14 | [Databases](chapter_14) | 0 | 7 | | |
| 15 | [Threads and Locks](chapter_15) | 0 | 7 | | |
| 16 | [Moderate](chapter_16) | 26 | 26 | 1 | |
| 17 | [Hard](chapter_17) | 26 | 26 | | |## Running the solutions
For convenience, the project has a `setup.py` that specifies a package, for local path resolving.
This can be installed locally in the python (virtual)environment by using:
```bash
pip install -e .
```Problems can be run by running the file, most should have a main method with some sample input, e.g. :
```bash
python p16_20.py
```## Some highlights
### Langton's ant (Chapter 16, Problem 22)

An interesting example of emergent patterns from simple rules. Raise the number of iterations in the code to see more of the "highway" form.
For more information, check the [wikipedia link](https://en.wikipedia.org/wiki/Langton%27s_ant).### Tree visualising in VS Code

This requires graphviz to be installed locally and the extension added to VS Code.
The one used in the screenshot above can be found [here](https://marketplace.visualstudio.com/items?itemName=tintinweb.graphviz-interactive-preview).