An open API service indexing awesome lists of open source software.

https://github.com/cruxrebels/interviewbit

Collection of Abhishek Agrawal's gists solutions for problems on https://www.interviewbit.com
https://github.com/cruxrebels/interviewbit

arrays backtracking binarysearch bit-manipulation cplusplus-11 cplusplus-14 dynamic-programming greedy-algorithms hashing heaps interviewbit interviewbit-solutions linked-list maps math queue stack string-manipulation trees two-pointers

Last synced: 9 months ago
JSON representation

Collection of Abhishek Agrawal's gists solutions for problems on https://www.interviewbit.com

Awesome Lists containing this project

README

          

# InterviewBit
This repository is a collection of my gists (***working*** :white_check_mark: code snippets passing all test cases on the
[InterviewBit online judge](https://www.interviewbit.com/courses/programming/)) solutions in the absolutely fantastic
language, C++.

***Edit:*** I've lately moved to Java hence trying to re-solve all the problems slowly and adding my Java solutions to this repo as well!

Hence, the solutions won't directly execute on your local IDE or compiler, the main() would need to be written and the
solution's function would need to be invoked with appropriate inputs/test cases to run in standalone.

## Notes:
- Sometimes, multiple solutions/approaches have been provided with relevant comments in the solution file,
these are being continuously updated as and when I find a more optimized solution. Be wary of copying two solutions separated
by comments simultaneously to run/submit on InterviewBit's online judge. Both shall work individually.
- I've used C++11 ([list initialization](https://en.cppreference.com/w/cpp/language/list_initialization),
[auto](https://en.cppreference.com/w/cpp/language/auto),
[emplace_back](http://www.cplusplus.com/reference/vector/vector/emplace_back/), etc) features
in each and every solution.
- The solutions also succinctly encompasses years of C++ industry programming experience and care has been taken
to optimize even at the slightest visible portions of the code.
- *The code in this repo is completely original content and written by me.* If you like what you see, don't forget to show your liking by :star:ing this repo.

## How to contribute?
1. Fork the repository :fork_and_knife:
2. Do the desired changes (add/delete/modify) :pencil2:
3. Make sure you've followed the existing coding standards and pattern of pasting the entire problem statement with a link to the problem on [InterviewBit](https://www.interviewbit.com). For reference, you can follow any existing file in this Repo. e.g. [AddOneToNumber.cpp](https://github.com/cruxrebels/InterviewBit/blob/master/Arrays/AddOneToNumber.cpp)
4. Attach a screenshot from [InterviewBit](https://www.interviewbit.com) showing that your solution was ACCEPTED by the online judge. I've been getting a lot of pull requests which are not Accepted by the online judge.
3. Make a pull request :shipit:

## When should you contribute?
- If your solution's time complexity :alarm_clock: is better than the solution already present *or*,
- If your solution's space complexity :floppy_disk: is better than the solution already present *or*,
- If your solution is of the same time *and* space complexity but is more concise :page_with_curl:.
In this case, comment out the original solution & make a pull request with your solution *or*,
- If your solution is of the same time *and* space complexity but is easier/more readable :page_facing_up: to understand *or*,
- If you use the same solution as present in the main branch and have gone the extra mile to add short comments :memo:
explaining what's happening or what's the rationale at that particular code line, wherever necessary. :pray: