随笔分类 -  LeetCode

上一页 1 2 3 4 5 6 7 8 9 下一页
leetcode[72] Edit Distance
摘要:两个字符串,判断他们之间的编辑距离,可以通过三个操作,删除,添加,替换。每种操作都算距离加一。例如“ab”和“abc”的距离为1.动态规划:用dis[i][j]记录string1的前i个和string2的前j个的距离。那么可以知道:1.如果str1的第i个,也就是str1[i-1]和str2的第j个... 阅读全文
posted @ 2014-11-15 01:03 higerzhang 阅读(1582) 评论(0) 推荐(0)
leetcode[71] Sqrt(x)
摘要:题目,就是实现一个开方,返回是整数。int sqrt(int x)用二分法,因为一个数的开方肯定小于 x/2 + 1, 因为小于5的某些数的开方并不一定比x/2小,所以要+1,那么们定义一个left一个right分别为0和x/2 + 1,然后更新左右边界,直至左边界大于右边界,返回右边界就是答案。c... 阅读全文
posted @ 2014-11-13 23:30 higerzhang 阅读(221) 评论(0) 推荐(0)
leetcode[70] Simplify Path
摘要:题目的意思是简化一个unix系统的路径。例如:path="/home/", =>"/home"path="/a/./b/../../c/", =>"/c"我尝试用逐个字符判断的方法,一直提交测试,发现要修改甚多的边界。于是就参考了这位大神思路其实不会那么复杂,C#里面的话直接可以用split就可以分... 阅读全文
posted @ 2014-11-12 23:36 higerzhang 阅读(234) 评论(0) 推荐(0)
Text Justification 实现两端对齐功能
摘要:实现office word中的两端对齐功能。只有个单词时,右边补齐空格。最后一行每个词间一个空格,整下的空格右边补齐。给定字符串,和每行的字符数L。进行两端对齐输出。我的思路是写一个函数,给定相应的参数就返回该行的string。然后在主函数里只要负责给参数就好了。参数包括words字符串数组本身,然... 阅读全文
posted @ 2014-11-11 23:46 higerzhang 阅读(810) 评论(0) 推荐(0)
leetcode[68] Climbing Stairs
摘要:n个台阶,每次可以走一步或者两步,总共有多少种走法。第一感觉想到的是递归,n为1的时候1种,2的时候2中。其他时候就是 fun(n) = fun(n-1) + fun(n-2);递归的代码很简单。如下class Solution {public: int climbStairs(int n) ... 阅读全文
posted @ 2014-11-10 00:28 higerzhang 阅读(174) 评论(0) 推荐(0)
leetcode[67] Plus One
摘要:题目:对一个用vector存的数字进行加1,然后返回加1后的值。一次就在oj上通过了。就是进位加上当前位如果大于9,那就当前位等于0;随后进位还为1的话就是在数组前面插入一个1;class Solution {public: vector plusOne(vector &digits) ... 阅读全文
posted @ 2014-11-10 00:13 higerzhang 阅读(174) 评论(0) 推荐(0)
valid number 判断字符串是否为有效数字
摘要:RT,面试题,给定一个字符串判断是否为科学计数法的有效数字。此题各种繁琐考虑。今天终于学会了用有限状态机来处理。理解之后简洁易懂。在此分享我的理解推导思路,大有收获啊。网上有解法说先记录每个状态代表的意思,然后根据状态的可能转移写出转移矩阵。但是,你肯定是一头雾水,状态数一多,就混乱不堪,根本很难有... 阅读全文
posted @ 2014-11-09 23:52 higerzhang 阅读(2281) 评论(2) 推荐(0)
leetcode Add Binary
摘要:题目:给定两个二进制字符串,返回相加的结果,也是二进制表示。主要就是考查进位如何操作,以及最后如果加完之后进位还是1的话那么不能漏了还要加1.跟之前有做过一题的类似。因为这题easy就是判断,所以直接贴代码了,感觉好长的样子。class Solution {public: string add... 阅读全文
posted @ 2014-11-09 00:08 higerzhang 阅读(215) 评论(0) 推荐(0)
leetcode Minimum Path Sum
摘要:题目:还是类似于之前两题,这里给定的m*n矩阵是每个数字都有值的。求的从头到尾的最小sum是多少。还是用动态规划求。初始化的时候是先计算第一行和第一列。假设给定的数据如下:那么初始化后为:那么再定位要处理的数字到i=1和j=1处,如表中的数字2处。这个时候更新是更加它加上它的左边或者上边的较小的值。... 阅读全文
posted @ 2014-11-08 23:26 higerzhang 阅读(325) 评论(0) 推荐(0)
leetcode Unique Paths II
摘要:题目:和上一题类似,就是这个时候给定了矩阵包含0和1,1代表不能从这里走。我的想法其实很明确,还是用动态规划,只是碰到壁垒的时候要进行考虑。还有初始化很重要。因为1本来是要用来代表在这里出发到终点有一种可能的,所以壁垒的1要用其他代替,我用-1代表是壁垒。如果给定的数组第一个数就是1,那永远都出发不... 阅读全文
posted @ 2014-11-08 00:23 higerzhang 阅读(429) 评论(0) 推荐(0)
leetcode[61] Unique Paths
摘要:题目:给定一个m*n的矩阵,从头开始,只能往右边和下边走,一次走一格,知道走到最后一个(右下角)为止。总共有多少种走法。典型的动态规划吧。其实从头走到尾部,和从尾部开始走到头是一样的次数。我们用一个矩阵记录到第一格子的次数,那么可以看到有如下的表:假设是3*4的矩阵,那么我们要返回的就是10了,每个... 阅读全文
posted @ 2014-11-07 22:54 higerzhang 阅读(447) 评论(0) 推荐(0)
leetcode[60] Rotate List
摘要:题目:给定链表,和一个k,把链表的后k个旋转到前头,例如链表为:1->2->3->4->5->NULLandk=2,return4->5->1->2->3->NULL.一开始我想,跟将后面第k个元素删除一样,可以遍历一次就可以解决问题。但是在测评的时候发现k有大于链表长度的时候,我以为如果大于长度了... 阅读全文
posted @ 2014-11-07 21:52 higerzhang 阅读(143) 评论(0) 推荐(0)
leetcode Permutation Sequence
摘要:题目:给定数字n,然后将1到n的第k个字典序排列找出来,例如3的时候有所有字典序为:"123""132""213""231""312""321" 那么第2个就是“132”,返回这个字符串。记得之前有做过输出所有可能的排序,在Permutation中,有兴趣还可以看看。所以很直观的就是复制那题的代码然... 阅读全文
posted @ 2014-11-06 23:40 higerzhang 阅读(227) 评论(0) 推荐(0)
leetcode Spiral Matrix II
摘要:题目:是Spiral Matrix相关的的。这题的意思是给定一个n,那么在n*n的矩阵里按照循环记录将1,2,3,..., n*n。如下如果给定3,那么:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]一开始我想是不是有数学公式直接下标对应的,那直接遍历输出就可以了。... 阅读全文
posted @ 2014-11-05 22:33 higerzhang 阅读(212) 评论(0) 推荐(0)
leetcode Length of Last Word
摘要:题目:给定一个只包含大小写字母和空格的字符串。返回最后一个单词的长度。“abc a” 是1 “abc ”是3两种思路,一个从头往后,一个从后往前。1.从头往后的话,需要记住空格前的一个单词是多长,如果空格到尾了,就输出记录的值,如果空格之后还有单词,就重新计数。用flag记录知否遇到空格。cla... 阅读全文
posted @ 2014-11-04 22:09 higerzhang 阅读(149) 评论(0) 推荐(0)
leetcode Insert Interval
摘要:题目:给定一系列的区间,这些区间是不重合的,而且按每个区间的起始点排好序了。再来一个区间。怎么得到所有合并后的区间。Example 1:Given intervals[1,3],[6,9], insert and merge[2,5]in as[1,5],[6,9].Example 2:Given[... 阅读全文
posted @ 2014-11-04 21:27 higerzhang 阅读(352) 评论(0) 推荐(0)
leetcode[55] Merge Intervals
摘要:题目:给定一连串的区间,要求输出不重叠的区间。Given a collection of intervals, merge all overlapping intervals.For example,Given[1,3],[2,6],[8,10],[15,18],return[1,6],[8,10]... 阅读全文
posted @ 2014-11-04 01:01 higerzhang 阅读(222) 评论(0) 推荐(0)
leetcode Jump Game
摘要:这题和那题类似,这题更简单。我当初就做了这题。当初的代码如下:class Solution {public: bool canJump(int A[], int n) { if (n canReach) return false; ... 阅读全文
posted @ 2014-11-03 00:18 higerzhang 阅读(228) 评论(0) 推荐(0)
leetcode Spiral Matrix
摘要:题目:螺旋输出数组(听师兄说是今年google电话面试题)Given a matrix ofmxnelements (mrows,ncolumns), return all elements of the matrix in spiral order.For example,Given the fo... 阅读全文
posted @ 2014-11-03 00:08 higerzhang 阅读(313) 评论(0) 推荐(0)
leetcode Maximum Subarray
摘要:题目:Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array[−2,1,−3,4,−1,2... 阅读全文
posted @ 2014-11-02 01:08 higerzhang 阅读(192) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 下一页