LeetCode
tjumiao
这个作者很懒,什么都没留下…
展开
-
LeetCode 131. Palindrome Partitioning
这道题可以用dp来解决。对任意一条字符串,遍历其可能被分割的每个位置,检查分割点后面是否是回文串,而创建列表存储分割点前面子串所有可能的分割。代码中dp[i]存储的即为s[0:i] 所有的回文分割字符串。所以对于新的位置i,遍历0~i-1之间的每一个位置j,如果s[j:i] 为回文串,则把dp[j]存储的所有分割与s[j:i]连接并append到dp[i]中,这样就得到了s[0:i] 的所有分割。最后输出dp[-1]即可。代码:class Solution(object): def p原创 2021-01-22 05:35:22 · 194 阅读 · 1 评论 -
LeetCode 1305 All Elements in Two Binary Search Trees
好久没刷题了,好不容易闲了下来回来刷道题。我现在用的是python题目:Given two binary search treesroot1androot2.Return a list containingall the integersfromboth treessorted inascendingorder这道题很简单,只需要中序遍历就可以。我开始居然TLE了,后来发现是我遍历的时候把值放在dict里作为key,然后value作为出现次数,最后把值从sorted k...原创 2020-12-26 05:34:59 · 159 阅读 · 3 评论 -
LeetCode 15. 3Sum
这道题是一道经典的2pointer题目,是之前的2Sum的升级版本,题目要求是在有n个元素的数组中找出所有和为0的3个元素,并输出。解题思路主要为:首先对数组排序,然后遍历每个元素,对每个元素来说只需要找到其他两个和为其相反数的元素,为了防止查找重复,每次都在该元素的后面查找其他两个元素。这样代码的时间复杂度为,不会超时代码如下(使用C++编写):class Solution {pub...原创 2018-07-24 16:22:06 · 96 阅读 · 0 评论 -
LeetCode 42 Trapping Rain Water
这是一道很有趣的问题,需要根据输入的所有柱子的高度求出其能容纳的雨水的最大容量。在观察这个数据的性质后,我发现,雨水的容量都是由其中较高的两根柱子决定的,如果其中没有柱子,容纳的雨水直接就是长*高得到的矩形;如果有比他们矮的柱子,那就减掉这个柱子占有的空间,也就是它的高度即可。所以我的思路是从前至后记录最高的两个柱子,每次出现一次比之前高或者和之前一样高的柱子就计算一次,用二者较短的高度乘以二者之...原创 2018-07-28 19:55:14 · 125 阅读 · 0 评论 -
LeetCode 63. Unique Paths II
题目的大意是根据输入的迷宫格子的情况输出从起点到终点可以有多少条路径。因为只能从左向右或从上到下行进,很自然地想到可以用动态规划来解决,dp[i][j]表示从起点到格子(i,j)最多的路径数量。所以,到一个格子的路径数即为起点到其上面格子的路径数和到左边的路径数之和,如果格子为障碍物,则dp[i][j]=0代码如下:class Solution { public int uniq...原创 2018-07-29 14:00:02 · 113 阅读 · 0 评论 -
LeetCode 57. Insert Interval
这道题是在一个区间的集合中插入一个区间后输出新生成的区间。我对这道题就是直观的解题思路:二分查找找到要插入的区间的前后端点在整个区间集合中的位置,然后删掉中间的区间,并在比较插入区间的端点值与之前的区间端点的大小之后插入新的区间。因为存在要插入的端点在已有的区间内部和在已有区间外两种情况,所以我在二分查找的时候多记录了一个这个,在数组的第二个元素中表示。根据这个,在二分查找时,如果在区间内部,...原创 2018-07-29 17:04:19 · 208 阅读 · 0 评论 -
LeetCode 78. Subsets
本题的题意是根据输入构造输入能构成的所有的子集。很明显可以用回溯法来解决,一个数字一个数字地遍历,然后从0到最大长度决定子集的长度len,然后进行dfs开始搜索,加入当前元素后再从当前元素的后一个元素开始加入长度为len-1的子集,依次遍历下去即可。代码如下:class Solution { public List<List<Integer>> subse...原创 2018-08-04 14:33:30 · 309 阅读 · 0 评论 -
LeetCode 85 Maximal Rectangle
这是一道很难的题,开始想用dp来解决,想了半天也没想通转移方程该怎么写,看了别人的博客才发现这道题可以和84题Largest Rectangle in Histogram 关联起来。把矩阵从上到下一行一行去切,只看上面的部分就可以发现其实可以转化成对每一行球第84题解的过程。但是我第84题是直接搜索每一列然后再左右搜索找到比那一列小的列为止然后计算通过的,这种复杂度比较高,我看了一下别人的解法,可...原创 2018-08-04 18:47:38 · 135 阅读 · 0 评论 -
Leetcode 10 Regular Expression Matching & Leetcode 44 Wildcard Matching
这两道都是类似正则表达式匹配的问题,放在一起mark一下Problem 10 Regular Expression Matching参考 https://blog.csdn.net/hk2291976/article/details/51165010这道正则表达式匹配的问题,直接查的博客,看到一篇思路比较好的,包括回溯和动态规划两种方法补充:自己根据其思路写代码的时候发现了其中一些...原创 2018-07-27 20:53:40 · 157 阅读 · 0 评论