Binary Search:二分查找实现方式:recursive or iterative注意问题,终止循环条件,移动start,end时边界值,start = mid,end = midTemplate:1. 在排序的数组中找A[i] == i的index,有重复元素存在. (cc150 Ques...
分类:
其他好文 时间:
2015-05-05 08:50:23
阅读次数:
163
给定一个node,找inorder traversal 里下一个。最直接的想法是inorder遍历整个bst,然后在遍历的结果中查找。但是这样耗费多余的空间和时间。geeksforgeek(1)有parent指针在cc150上有很好的讲解三种情况:i 当前node的right != null, 则返...
分类:
其他好文 时间:
2015-05-03 14:32:51
阅读次数:
275
Just use two pointers. CC150 classical question 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNo...
分类:
其他好文 时间:
2015-03-20 08:06:22
阅读次数:
125
可以使用一个extra的stack。 1 class Solution { 2 public Stack sortStack(Stack s1) { 3 Stack s2 = new Stack(); 4 while(!s1.isEmpty()) { 5 ...
分类:
其他好文 时间:
2015-02-26 09:48:17
阅读次数:
127
根据CC150的解决方式和Introduction to Java programming总结:使用了两种方式,递归和迭代CC150提供的代码比较简洁,不过某些细节需要分析。现在直接运行代码,输入n(其中用number代替,以免和方法中的n混淆)的值,可以得出斐波那契数。代码如下:/* CC150....
分类:
其他好文 时间:
2015-02-26 01:22:46
阅读次数:
142
Problem:
You are given a binary tree in which each node contains a value. Design an algorithm to print all paths which sum to a given value. The path does not need to start or end at the root or a le...
分类:
编程语言 时间:
2015-01-21 09:01:33
阅读次数:
161
实现一个算法来删除单链表中间的一个结点,仅仅给出指向那个结点的指针。样例: 输入:指向链表a->b->c->d->e中结点c的指针 结果:不须要返回什么,得到一个新链表:a->b->d->e解答 这个问题的关键是你仅仅有一个指向要删除结点的指针,假设直接删除它,这条链表就断了。 但你又没办法得到.....
分类:
编程语言 时间:
2015-01-13 17:17:20
阅读次数:
161
9.6Givenamatrixinwhicheachrowandeachcolumnissorted,writeamethodtofindanelementinit.voidsearch(int[][]a,intt)
{
intm=a.length;
intn=a[0].length;
//Startfromright-uppoint.
//ifrightUp==t,found
//ifrightUp>t,allcolumnare>t
//ifrightUp<t,allroware<..
分类:
其他好文 时间:
2014-12-14 18:46:19
阅读次数:
149
9.3Givenasortedarrayofnintegersthathasbeenrotatedanunknownnumberoftimes,giveanO(logn)algorithmthatfindsanelementinthearray.Youmayassumethatthearraywasoriginallysortedinincreasingorder.EXAMPLE:Input:find5inarray(1516192025134571014)Output:8(theindexof5inthea..
分类:
其他好文 时间:
2014-12-14 18:45:30
阅读次数:
130
8.7Givenaninfinitenumberofquarters(25cents),dimes(10cents),nickels(5cents)andpennies(1cent),writecodetocalculatethenumberofwaysofrepresentingncents.intways(intsum,intn,intcent)//centismaxCentallowtouse.
{
if(sum==n)
return1;//thiswayisgood.
if(sum>n)
re..
分类:
其他好文 时间:
2014-12-14 18:44:41
阅读次数:
152