Cracking the Coding Interview
文章平均质量分 74
Cheng_Tian
这个作者很懒,什么都没留下…
展开
-
Chapter 1 Arrays and Strings - 1.2
Problem:1.2 Write code to reverse a C-Style String. (C-String means that "abcd" is represented as five characters, including the null character.)This one is quite easy:# -*- coding:utf-8 -原创 2012-06-01 18:40:18 · 674 阅读 · 0 评论 -
Chapter 3 Stacks and Queues - 3.2
problem 3.2: How would you design a stack which, in addition to push and pop, also has a function min which returns the minimum element? Push, pop and min should all operate in O(1) time.At first,原创 2012-07-02 22:18:59 · 886 阅读 · 0 评论 -
Chapter 3 Stacks and Queues - 3.5
Problem 3.5: Implement a MyQueue class which implements a queue using two stacks.The word "two stacks" is a strong hint. I implemented my solution quickly.from stack import *class MyQueue:原创 2012-07-02 22:23:30 · 871 阅读 · 0 评论 -
Chapter 3 Stacks and Queues - 3.3
Problem 3.3: Imagine a (literal) stack of plates. If the stack gets too high, it might topple. Therefore, in real life, we would likely start a new stack when the previous stack exceeds some threshold原创 2012-07-02 22:20:22 · 1163 阅读 · 0 评论 -
Chapter 3 Stacks and Queues - 3.4
Problem 3.4: In the classic problem of the Towers of Hanoi, you have 3 rods and N disks fo different sizes which can slide onto any tower. The puzzle starts with disks sorted in ascending order of siz原创 2012-07-02 22:21:42 · 845 阅读 · 0 评论 -
Chapter 3 Stacks and Queues - 3.6
Problem 3.6: Write a program to sort a stack in ascending order. You should not make any assumptions about how the stack is implemented. The following are the only functions that should be used to wri原创 2012-07-02 22:24:58 · 826 阅读 · 0 评论 -
Chapter 2 Linked Lists - 2.5
Problem 2.5: Given a circular linked list, implment an algorithm which returns node at the beginning of the loop.DEFINITIONCircular linked list: A (corrupt) linked list in which a node's next poin原创 2012-06-30 12:38:47 · 994 阅读 · 0 评论 -
Chapter 4 Trees and Graphs - 4.5
Problem 4.5: Write an algorithm to find the 'next' node (i.e., in-order successor) of a given node in a binary search tree where each node has a link to its parent.To address this problem, the mos原创 2012-07-22 11:40:48 · 941 阅读 · 0 评论 -
Chapter 4 Trees and Graphs - 4.4
Problem 4.4: Given a binary search tree, design an algorithm which creates a linked list of all the nodes each depth (i.e., if you have a tree with depthD, you'll have D linked lists).BFS, again..原创 2012-07-22 11:38:46 · 1027 阅读 · 0 评论 -
Chapter 4 Trees and Graphs - 4.3
Problem 4.3 Given a sorted (increasing) array, write an algorithm to create a binary tree with minimal height.Seems that we should construct a complete binary tree.from queue import *class bina原创 2012-07-22 11:37:10 · 874 阅读 · 0 评论 -
Chapter 4 Trees and Graphs - 4.1
Problem 4.1: Implement a function to check if a tree is balanced. For the purposes of this question, a balanced tree is defined to be a tree such that no two leaf nodes differ in distance from the roo原创 2012-07-22 11:32:36 · 836 阅读 · 0 评论 -
Chapter 3 Stacks and Queues - 3.1
Problem 3.1: Describe how you could use a single array to implement three stacks.Splitting the array into three individual parts is quite intuitive.How can we take full advantage of the unused原创 2012-06-30 12:41:53 · 1003 阅读 · 0 评论 -
Chapter 2 Linked Lists - 2.4
Problem 2.4: You have two numbers represented by a linked list, where each node contains a single digit. The digit are stored in reverse order, such that the 1's digit is at the head of the list. Writ原创 2012-06-11 22:56:41 · 832 阅读 · 0 评论 -
Chapter 2 Linked Lists - 2.3
Problem 2.3: Implement an algorithm to delete a node in the middle of a single linked list, given only access to that node.EXAMPLEInput: the node 'c' from the linked list a->b->c->d->eResult: no原创 2012-06-11 22:54:24 · 901 阅读 · 0 评论 -
Prologue
"Cracking the Coding Interview" is an amazing book. Students who found good jobs speak highly of it.To find a good job after I graduate from the MS program in 2013, I should go through thi原创 2012-06-01 17:01:53 · 735 阅读 · 0 评论 -
Chapter 1 Arrays and Strings - 1.3
The statement of problem 1.3 is:Design an algorithm and write code to remove the duplicate characters in a string without using any additional buffer. NOTE: One or two additional variables are fine.原创 2012-06-04 00:52:33 · 868 阅读 · 0 评论 -
Chapter 1 Arrays and Strings - 1.4
1.4 Write a method to decide if two strings are anagrams or not.This "easy" problem really taught me a lesson. Firstly, I quickly came up with a somewhat smart solution:import stringdef are_a原创 2012-06-04 11:51:59 · 602 阅读 · 0 评论 -
Chapter 1 Arrays and Strings - 1.1
This the first problem in the "Cracking the Coding Interview" book. The statement of problem is presented below:1.1 Implement an algorithm to determine if a string has all unique characters. What原创 2012-06-01 17:08:51 · 1051 阅读 · 1 评论 -
Chapter 1 Arrays and Strings - 1.5
Problem 1.5: Write a method to replace all spaces in a string with '%20'.The first solution flashed into my mind takes O(n), and it's similar to the one on the answer page.import stringdef repl原创 2012-06-06 15:05:39 · 590 阅读 · 0 评论 -
Chapter 1 Arrays and Strings - 1.6
Problem 1.6: Given an image represented by an NxN matrix, where each pixel in the image is 4 bytes, write a method to rotate the image by 90 degrees. Can you do this in place?The question is not c原创 2012-06-06 15:11:07 · 607 阅读 · 0 评论 -
Chapter 1 Arrays and Strings - 1.7
Problem 1.7: Write an algorithm such that if an element in an MxN matrix is 0, its entire row and column is set to 0.At the first glance, we can just iterate the matrix and when we find a zero, we原创 2012-06-06 16:17:43 · 727 阅读 · 0 评论 -
Chapter 1 Arrays and Strings - 1.8
Problem 1.8: Assume you have a method isSubString which checks if one word is a substring of another. Given two strings, s1 and s2, write code to check if s2 is a rotation of s1 using only one call to原创 2012-06-08 15:45:38 · 755 阅读 · 0 评论 -
Chapter 2 Linked Lists - 2.1
2.1 Write code to remove duplicates from an unsorted linked list.FOLLOW UPHow would you solve this problem if a temporary buffer is not allowed?First of all, we should ask the interviewer whic原创 2012-06-11 22:48:08 · 1128 阅读 · 0 评论 -
Chapter 2 Linked Lists - 2.2
Problem 2.2: Implement an algorithm to find the nth to last element of a singly linked list.The solution on answer page needs only one iteration while other intuitive solution takes more than one原创 2012-06-11 22:52:13 · 768 阅读 · 0 评论 -
Chapter 4 Trees and Graphs - 4.2
Problem 4.2 Given a directed graph, design an algorithm to find out whether there is a route between two nodes.Classic homework in the course of graph theory. Either BFS or DFS can solve it.from原创 2012-07-22 11:34:19 · 845 阅读 · 0 评论