Skip to content

Latest commit

 

History

History
52 lines (39 loc) · 4.69 KB

README.md

File metadata and controls

52 lines (39 loc) · 4.69 KB

google-challenge

I got a chance to participate in secret Google foo.bar challenge. This was really exciting journey, even though sometimes it was really hard to come up with the solution. To be completely honest, I haven't done everything by myself, I have used help from other participants of the challenge, and now I would be happy to be the same help for the others.

For each of the task, I have provided an explanation on what algorithm or formula I have used - so to speak "no spoilers" solution. Also, I have provided Java code (except the first task, because unfortunately I have deleted the code I used).

later-patches branch is for some changes to the code that were done AFTER I have submitted the solution. The code I used for submission is in main branch.

Challenges

I have noticed that participants got different tasks on some stages. Here is my list:

First stage

Second stage

Third stage

Fourth stage

Fifth stage

The end :)

Constraints provided by the challenge

  1. Your code will be compiled using standard Java 8. All tests will be run by calling the solution() method inside the Solution class
  2. Execution time is limited.
  3. Wildcard imports and some specific classes are restricted (e.g. java.lang.ClassLoader). You will receive an error when you verify your solution if you have used a blacklisted class.
  4. Third-party libraries, input/output operations, spawning threads or processes and changes to the execution environment are not allowed.
  5. Your solution must be under 32000 characters in length including new lines and and other non-printing characters.

Special thanks

I also want to thank all other participants who posted their code/solutions/tips online. In the moments when I was completely stuck and about to start crying, those solutions helped me a lot to keep moving forward. I am a total beginner in CS and programming (still wondering how in the world I got invitation from Google with my current knowledge :D), but I decided that even if I don't know algorithms, some data structures or formulas, it is better to look up solution, learn about used algorithm in detail and then use it, too, in my own code (I've never fully copy-pasted the code, but I did use it for a reference). After all, this challenge turned out to be a huge knowledge booster.

Code and solutions I have used as reference:

  • pratickRoy's code and article for Gearing Up for Destruction level.
  • ivanseed's README.md for Doomsday Fuel challenge.
  • ivanseed's README.md for Bomb, Baby challenge.
  • Bajru's question and immediate answer for Running with Bunnies challenge.
  • Peter-AK's explanation and aurasphere's code for Bringing a Gun to a Trainer Fight challenge (for some reason this challenge is my least favourite).
  • Chris' article for Disorderly Escape challenge.
  • Shrey Shah's article for the last encryption task.