![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题
heheSakura
这个作者很懒,什么都没留下…
展开
-
水坑面积
题目 是的,如上,我是一个懒人 输入是一个数组,数组中的元素代表每一个位置的房子的高度,输出积水量。 举例输入 5 7 6 10 7 5 4 5 7 输出 7 思路 遍历数组的每一个元素,找到当前元素左边的最高值,右边的最高值,则改元素能形成的积水量=min(左边最高值,右边最高值)-当前元素值(当然前面的最小值要小于当前元素值)。 但这样直接的方式时间复杂度就是O(n2)O(n...原创 2019-03-15 00:45:41 · 420 阅读 · 0 评论 -
两个字符串的编辑距离 Leetcode72
问题大家都知道,就不赘述了,进入分析。 计算字符串s1,s2的编辑距离,学动态规划都用到的经典例题。用一个二维数组,来记录s1从s1[0]到s1[i]变换到s[0]到s[j]需要的操作数。 dp[i][0]记录了当字符串s2为空时,s1需要进行的步骤数,当然是全部删掉咯,所以dp[i][0]=i,同理dp[0][j]=j; dp[i][j]记录s1[0]~s1[i]到s2[0]~s2[j]的编辑...原创 2019-03-15 10:54:46 · 380 阅读 · 0 评论 -
Fibonacci Number斐波那契数
The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from 0 and 1. That is, F(0) = 0, F(1...原创 2019-03-15 13:17:23 · 461 阅读 · 0 评论 -
最长公共子序和最长公共子串
最长公共子序列 Largest common subsequence 输入两个字符串,找出最长公共子序列。 比如"ABCDCEFG",“CEG”,则他们的最长公共子序列是"CEG" 对于两个字符串s1,s2,用一个二维数组dp[i][j]来记录两个字符串的最长公共子序列长度。 dp[i][j]={0i=0∣∣j=0dp[i−1][j−1]i,j>0,s1[i−1]=s2[j−1]ma...原创 2019-03-16 11:58:55 · 181 阅读 · 0 评论 -
【面试题】找出字符串中唯一一个单独出现的字符
给定一个字符串,里面的字符都是成对出现,除了一个,要求找到这个单独出现的字符。 比如“AABBCCDDE”,返回“E”。 当然可以遍历,看当前元素是否和后面的字符一样,不一样就返回,这样的时间复杂度是O(n)O(n)O(n)。还有时间效率更高的方法,可以用二分查找。 可以观察到,整个字符串长度n一定是奇数,且如果是成对的,每个偶数下标处的字符和紧挨着它后面的奇数字符应该是一样的。当我们用二分查找,...原创 2019-03-17 13:47:51 · 940 阅读 · 0 评论 -
区间合并leetcode56
Given a collection of intervals, merge all overlapping intervals. Example 1: Input: [[1,3],[2,6],[8,10],[15,18]] Output: [[1,6],[8,10],[15,18]] Explanation: Since intervals [1,3] and [2,6] overlaps, m...原创 2019-03-17 15:53:19 · 285 阅读 · 0 评论 -
Leetcode Array(27,26)
给定一个数组nums和一个val值,移除数组中所有的val值,且保证最后数组中的元素在正确的位置,并返回这个新数组的长度。 要求不能另外开辟一个新数组,要求空间复杂度是O(1)O(1)O(1)。 元素的位置可以改变,超出新数组长度的部分是什么都没关系。 例子: Given nums = [0,1,2,2,3,0,4,2], val = 2, Your function should return...原创 2019-04-07 15:40:02 · 393 阅读 · 0 评论