- 博客(6)
- 资源 (8)
- 收藏
- 关注
原创 LeetCode Decode Ways
好题,弄出来真不容易呀,开始是没思路,后来大部分提交的都是不了解题意,题意本身考虑的情况就挺多,编译器还把不合理的输入也返回为0,要判断的更多了。最开始的思路是递归,递归公式也写出来了,后来时间限制,改动态规划,提交了十多次,终于AC了。自己做出的,不能说学会了编程,但至少这题是用计算机思想解决的,真是锻炼了。动态规划是通了,递归如果不考虑时间的问题,也要设置一个全局变量来判断是否输入合理,或者用
2014-02-26 22:26:39 496
原创 LeetCode Gray Code
好题,自己做出来的,花了一个多小时,不到两个小时,面试时估计可没有这么多时间。这样的题就是一点一点的找规律,然后转化为计算机算法。首先0先进入结果集,之后就是怎么交换的问题了,假n=3,刚开始为000,从左往右分别共交换1,2,4次,共7次正好7个数,而且两次交换的位置不能相同,所以交换的顺序为4241424(用次数来表示),4表示交换最后一位,2表示交换中间位,1表示交换第一位。能交换低位(右边
2014-02-26 18:55:33 598
原创 LeetCode Merge Sorted Array
应该先拿这题练练手 void merge(int A[], int m, int B[], int n) { if(m<0||n<0) return; int i,j,k; for (k=m+n-1,i=m,j=n;k>=0&&i>=0&&j>=0;k--) { if (A[i]>B[j]) { A[k] = A[i]; i--; } else {
2014-02-26 15:52:36 553
原创 LeetCode Scramble String
好题呀,太长时间不思考了,想到了分治方法,没坚持下去,也就没想出来,其实不难,下面是递归的方案: bool isScramble(string s1, string s2) { int lens1,lens2; lens1 = s1.length(); lens2 = s2.length(); if(lens1!=lens2) return false; if(lens1==0)
2014-02-26 15:51:27 607
原创 LeetCode Partition List
关于链表的移动其实没什么,突然想到了能不能一段一段地移动呢,这样对于本身连在一起的就不用拆了在链接上了,应该是可以的,但一定是以一个为基准。下面的程序只是第一步移动了一段其他情况还是一个一个的移动,不能算高效。 // LeetCode_PartitionList.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include using namesp
2014-02-22 21:40:33 716
原创 LeetCode Maximal Rectangle
隔了一个月又回来了。这题之前做过,思路就是根据上一题中求直方图中的最大矩形面积来求全部包含1的最大矩形面积,就是多加了两层循环。 int largestRectangleArea3(vector &height) { stack s; int len=height.size(),maxx=0; for(int i=0;i<len;++i) { if(s.empty())s.push(
2014-02-21 21:36:11 983
程序员面试题精选100题.doc
2013-01-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人