Giter Site home page Giter Site logo

ctci-6th-edition-python's Introduction

Python Solutions to Cracking the Coding Interview, 6th Edition

These are Python solutions for the book Cracking the Coding Interview, 6th Edition by Gayle Laakmann McDowell.

How to use?

To run the programs, just use the python chapter_X/filename.py command.

To run the tests: pip install pytest and pytest

Contributions

Contributions welcome! Please submit separate pull requests for each solution you work on.

In general solutions should fall into one of the following three categories:

  • algorithm demonstration. This is the primary type of problem and solution that the text is concerned with. As such, solutions should not use standard library functions in cases that would make it unnecessary to implement the algorithm. The goal of these solutions should be to have an easy to understand solution that demonstrates understanding of the algorithm.
  • python demonstration. We also accept solutions that solve the problem in a more practical way, using whatever standard library functions are available. Please do not use any third party dependencies. These solutions should also be easy to understand and good examples of pythonic ways of doing things.
  • speed demonstration. These alternative solutions may be accepted if the fastest way to do something is not very readable or intuitive and thus it doesn't fit into the first two categories.

If you want to do everything really well, here are some guidelines. Solutions should:

  • work with Python 3.6 or greater
  • not depend on third-party libraries (like numpy)
  • follow python style conventions
    • lower_case_with_underscores for everything except classes
    • descriptive, longer variable names
  • be formatted using the black code formatter
  • include tests to prove they work. pytest is supported
  • have a clean commit history ideally following the angular commit message convention and including the problem being worked on in parenthesis. For example feature(C01_P04): added solution. The C01_P04 referring to Chapter 1, Problem 4. Look at our commit history for more examples:

We'll still work with your contributions even if they don't follow these guidelines so don't let that stop you.

ctci-6th-edition-python's People

Contributors

brycedrennan avatar mmermerkaya avatar kv-kunalvyas avatar damienlancry avatar bravominski avatar mcolen avatar iamnicoj avatar naik-amey avatar acandelaria1 avatar dwardu89 avatar ayesha-omarali avatar 1st avatar nof20 avatar yfalcon8 avatar ryoyama0508 avatar hchiam avatar yashbathia avatar kyle8998 avatar luckylau avatar briancharlesmeehan avatar irkartem avatar aftrant avatar nin9 avatar georgelzh avatar yvonneyeh avatar vimanyuagg avatar timgates42 avatar thomasjk10 avatar shivambhosale avatar bandarji avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.