2014年3月25日

Maximum Subarray

摘要: 1 /* 2 从头开始,每次加过之后和之前的最大值比较,若比最大值大,则更新最大值 3 如果加到某个数时,值为负,那么下次累加的起点就要改变 4 */ 5 int maxSubArray(int A[], int n) { 6 if(A==NULL||nmax?sum:max;12 if(sum<0)13 sum=0;//如果加到某个数时,值为负,那么下次累加的起点就要改变14 }15 return max;16 }AC 阅读全文

posted @ 2014-03-25 20:22 crane_practice 阅读(95) 评论(0) 推荐(0) 编辑

Unique Paths

摘要: 1 int uniquePaths(int m, int n) { 2 if(m==0||n==0) 3 return 0; 4 int A[m][n]; 5 int i,j; 6 for(i=0;i<m;++i) 7 A[i][0]=1; 8 for(i=1;i<n;++i) 9 A[0][i]=1;10 for(i=1;i<m;++i){11 for(j=1;j<n;++j)12 ... 阅读全文

posted @ 2014-03-25 16:48 crane_practice 阅读(144) 评论(0) 推荐(0) 编辑

Merge Two Sorted Lists

摘要: 1 ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { 2 if(l1==NULL) 3 return l2; 4 if(l2==NULL) 5 return l1; 6 ListNode *head,*p; 7 if(l1->valval){ 8 head=l1; 9 l1=l1->next;10 }11 else{12 ... 阅读全文

posted @ 2014-03-25 11:45 crane_practice 阅读(95) 评论(0) 推荐(0) 编辑

Climbing Stairs

摘要: 1 int climbStairs(int n) 2 { 3 if(n<=0) 4 return 0; 5 if(n==1) 6 return 1; 7 if(n==2) 8 return 2; 9 return climbStairs(n-1)+climbStairs(n-2);10 }青蛙跳台阶问题,第一反应就是上面的代码了,结果是 超时 1 int climbStairs(int n) { 2 if(n<=0) 3 return 0; 4 in... 阅读全文

posted @ 2014-03-25 11:06 crane_practice 阅读(118) 评论(0) 推荐(0) 编辑

导航