27.10.2014 Views

Cracking the Coding Interview, 4 Edition - 150 Programming Interview Questions and Solutions

Cracking the Coding Interview, 4 Edition - 150 Programming Interview Questions and Solutions

Cracking the Coding Interview, 4 Edition - 150 Programming Interview Questions and Solutions

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 8 | Recursion<br />

8.1 Write a method to generate <strong>the</strong> nth Fibonacci number.<br />

________________________________________________________________pg 169<br />

8.2 Imagine a robot sitting on <strong>the</strong> upper left h<strong>and</strong> corner of an NxN grid. The robot can<br />

only move in two directions: right <strong>and</strong> down. How many possible paths are <strong>the</strong>re for<br />

<strong>the</strong> robot?<br />

FOLLOW UP<br />

Imagine certain squares are “off limits”, such that <strong>the</strong> robot can not step on <strong>the</strong>m.<br />

Design an algorithm to get all possible paths for <strong>the</strong> robot.<br />

________________________________________________________________pg 170<br />

8.3 Write a method that returns all subsets of a set.<br />

________________________________________________________________pg 171<br />

8.4 Write a method to compute all permutations of a string.<br />

________________________________________________________________pg 173<br />

8.5 Implement an algorithm to print all valid (e.g., properly opened <strong>and</strong> closed) combinations<br />

of n-pairs of paren<strong>the</strong>ses.<br />

EXAMPLE:<br />

input: 3 (e.g., 3 pairs of paren<strong>the</strong>ses)<br />

output: ()()(), ()(()), (())(), ((()))<br />

________________________________________________________________pg 174<br />

8.6 Implement <strong>the</strong> “paint fill” function that one might see on many image editing programs.<br />

That is, given a screen (represented by a 2 dimensional array of Colors), a<br />

point, <strong>and</strong> a new color, fill in <strong>the</strong> surrounding area until you hit a border of that color.’<br />

________________________________________________________________pg 175<br />

8.7 Given an infinite number of quarters (25 cents), dimes (10 cents), nickels (5 cents) <strong>and</strong><br />

pennies (1 cent), write code to calculate <strong>the</strong> number of ways of representing n cents.<br />

________________________________________________________________pg 176<br />

8.8 Write an algorithm to print all ways of arranging eight queens on a chess board so<br />

that none of <strong>the</strong>m share <strong>the</strong> same row, column or diagonal.<br />

________________________________________________________________pg 177<br />

CareerCup.com<br />

6 4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!