Cracking the Coding Interview 6th Ed. Solutions
Switch branches/tags
Nothing to show
Clone or download
Gayle McDowell
Latest commit 59018cf Nov 13, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CSharp @ 5ce806d Update submodule references for C#, C, C++, Oct 30, 2017
Clojure @ ef151b9 Update submodule references for Clojure, JavaScript, Python & php Mar 7, 2016
Go @ 5666eba Adding Go solutions from PR #59 as a git submodule Feb 21, 2016
Groovy @ cb12542 Added `Groovy` solutions for chapter 6 Mar 6, 2016
Haskell @ 3315fdd Adding Haskell solutions submodule Feb 18, 2016
Java 16.3: Fixing intersection issue on parallel lines Nov 13, 2018
JavaScript @ ec30794 Update submodule references for C#, C, C++, Oct 30, 2017
JavaScript-ES2015 @ 50cfea6 Update submodule references for JavaScript, JavaScript-ES2015, Julia, Feb 11, 2017
Julia @ d437ab8 Update submodule references for JavaScript, JavaScript-ES2015, Julia, Feb 11, 2017
Kotlin @ 0ab6542 Adding submodule reference to Kotlin solutions repo Oct 30, 2017
Objective-C @ eb64203 Adding submodule reference to Objective-C solutions repo Sep 8, 2016
Python @ e6bc732 Update submodule references for C#, C, C++, Oct 30, 2017
Ruby @ 8db2b47 Update submodule references for C#, C, C++, Oct 30, 2017
Swift @ 7afac9b Update submodule references for C#, C, C++, Oct 30, 2017
c @ ab83d08 Update submodule references for C#, C, C++, Oct 30, 2017
cpp @ a68ba3e Update submodule references for C#, C, C++, Oct 30, 2017
php @ e1fa34f Update submodule references for C#, C, C++, Oct 30, 2017
.classpath Sort package names in Eclipse meta file so they sort correctly in IDE Oct 9, 2015
.gitignore Since the JavaScript solutions were moved to their own repo in Feb 22, 2016
.gitmodules Adding submodule reference to Kotlin solutions repo Oct 30, 2017
.project Merging conflicts Oct 21, 2015
README.md Adding submodule reference to Kotlin solutions repo Oct 30, 2017

README.md

CtCI-6th-Edition

Solutions for Cracking the Coding Interview 6th Edition by Gayle Laakmann McDowell.

Crowdsourcing solutions for every widely used programming language. Contributions welcome.

Cloning

Solutions in Java are contained directly in this repo and are the same solutions found in the book. Solutions in other programming languages are contributed by the community and each have their own dedicated repos which are referenced from this repo as git submodules. What this means for cloning:

  • If you want to make a local clone of solutions in all languages, you should use the --recursive option:

      git clone --recursive https://github.com/careercup/CtCI-6th-Edition.git
    
  • If you're only interested in the Java solutions:

      git clone https://github.com/careercup/CtCI-6th-Edition.git
    
  • If you originally cloned without --recursive, and then later decide you want the git submodules too, run:

      git submodule update --init --recursive
    

Contributing

Work Flow

  1. Fork the appropriate repo for your language to your GitHub user. (see Where to submit pull requests)
  2. Write quality code and lint if applicable.
  3. Add tests if applicable.
  4. Open a pull request and provide a descriptive comment for what you did.

Where to submit pull requests

Pull requests pertaining to Java solutions should be submitted to the main CtCI-6th-Edition repo. Please submit pull requests for all other languages to the appropriate language-specific repo.

Adding a new Language

Solutions in other languages are welcome too and should follow this workflow:

  1. Create the new repo under your own GitHub user account and start contributing solutions. The repo name should follow this naming convention: CtCI-6th-Edition-<language>.
  2. Open an issue on the CtCI-6th-Edition repo to request that your solution repo be promoted to join the careercup GitHub organization and referenced from the main repo as a git submodule.
  3. If your request is approved, navigate to your repo's settings page and select the "Transfer Ownership" option, and specify "careercup" as the new owner.