随笔 - 1133  文章 - 0 评论 - 19 阅读 - 20万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

04 2019 档案
leetcode1035
摘要:这道题的思路是,最长公共子序列LCS,典型的DP类型题目。我最怕的类型了。 阅读全文
posted @ 2019-04-28 13:23 Sempron2800+ 阅读(308) 评论(0) 推荐(0) 编辑
leetcode1034
摘要:这题是什么鬼玩意儿?是我打开方式不对么。。。 阅读全文
posted @ 2019-04-28 12:24 Sempron2800+ 阅读(157) 评论(0) 推荐(0) 编辑
leetcode1033
摘要:这道题出的有点不知所云。 阅读全文
posted @ 2019-04-28 12:10 Sempron2800+ 阅读(134) 评论(0) 推荐(0) 编辑
leetcode971
摘要:参考:https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/discuss/214216/JavaC%2B%2BPython-DFS-Solution 阅读全文
posted @ 2019-04-27 17:15 Sempron2800+ 阅读(82) 评论(0) 推荐(0) 编辑
leetcode894
摘要:1 class Solution { 2 3 private Map> memo; 4 5 public List allPossibleFBT(int N) { 6 this.memo = new HashMap(); 7 return backtrack(N); 8 } 9 10 ... 阅读全文
posted @ 2019-04-27 17:12 Sempron2800+ 阅读(110) 评论(0) 推荐(0) 编辑
leetcode966
摘要:1 class Solution(object): 2 def spellchecker(self, wordlist: 'List[str]', queries: 'List[str]') -> 'List[str]': 3 wordlen = len(wordlist) 4 wordict = {}#存原始形式 5 wordi... 阅读全文
posted @ 2019-04-24 19:55 Sempron2800+ 阅读(144) 评论(0) 推荐(0) 编辑
leetcode969
摘要:从大到小寻找每个数字的位置,将其先移动到第一个位置,再将其移动到其数字应该的位置(index==num-1)。 阅读全文
posted @ 2019-04-24 18:42 Sempron2800+ 阅读(90) 评论(0) 推荐(0) 编辑
leetcode974
摘要:这道题目描述很清晰,直接两层循环,代码如下: 显然,时间复杂度O(n^2),这样会超时。 因此需要优化,把时间复杂度减少O(n),一般这种类型的题目,都是要从数学角度分析,寻找规律。 先贴代码: 这里比较关键的代码就是13~17行,对于前m项的连加和,模K的余数,如果是第一次出现,则在字典中进行“标 阅读全文
posted @ 2019-04-24 12:31 Sempron2800+ 阅读(165) 评论(0) 推荐(0) 编辑
New York is 3 hours ahead of California
摘要:New York is 3 hours ahead of California, 纽约时间比加州时间早三个小时, but it does not make California slow. 但加州时间并没有变慢。 Someone graduated at the age of 22, 有人22岁就毕 阅读全文
posted @ 2019-04-24 02:33 Sempron2800+ 阅读(604) 评论(0) 推荐(0) 编辑
leetcode978
摘要:思路:滑动窗口。 这种线性的程序,再长一倍,问题也不大。不过可读性就比较差了。 简单说一下用到的变量的作用:NeedJudge就是是否需要判断,对于每次滑动窗口的起始位置(i==j),NeedJudge都是False,这样只需要根据起始的两个位置的元素的大小,来确定是凹凸凹型还是凸凹凸型。变量Low 阅读全文
posted @ 2019-04-23 22:42 Sempron2800+ 阅读(126) 评论(0) 推荐(0) 编辑
leetcode979
摘要:搞不定这种递归计算,可能我的头脑是“线性”的,这种一层一层的,想起来太费劲了,想的头发都没了。以后希望能有AI来写这种程序吧,AI不怕掉头发! 参考:https://leetcode.com/problems/distribute-coins-in-binary-tree/discuss/22193 阅读全文
posted @ 2019-04-23 18:22 Sempron2800+ 阅读(111) 评论(0) 推荐(0) 编辑
leetcode981
摘要:考虑线性的搜索会超时,所以用二叉搜索来解决,代码如下: 但是这种写法会超时,这应该是代码质量问题,目前没明白是啥原因。 哪位博友知道我的代码的问题,欢迎告知。 参考了一下别人的方案,看到一个线性搜索的解决方案,却可以通过。 阅读全文
posted @ 2019-04-23 12:32 Sempron2800+ 阅读(125) 评论(0) 推荐(0) 编辑
leetcode739
摘要:补充另一种写法,效率更高: 自己重新写了一个: 两层循环处理,下面给出解释: 第一层循环,从后向前,最后一个元素肯定标记为0,因为它是最后一个元素(废话)。 第二层循环,从倒数第二个元素开始判断,记录当前位置为i,其后面的元素为j, 如果j元素比i元素大,那么就对i进行标记, 如果j元素不比i元素大 阅读全文
posted @ 2019-04-22 09:10 Sempron2800+ 阅读(210) 评论(0) 推荐(0) 编辑
leetcode1032
摘要:此解决方案超时: 在上面的代码基础上,增加Trie数据结构,解决方案如下: 阅读全文
posted @ 2019-04-21 14:12 Sempron2800+ 阅读(211) 评论(0) 推荐(0) 编辑
leetcode1031
摘要:getMaxByCount()方法是在A中选择连续maxlen长度的最大和。 先求L+M个连续区间的最大值,作为最基本的选择,记为allmax。 再进行一次遍历(从maxlen~n),每次选择maxlen个(L和M中更大的那个数)长度的区间,计算这个区间的和,记为bigmax。 然后将原数组一分为二 阅读全文
posted @ 2019-04-21 12:41 Sempron2800+ 阅读(168) 评论(0) 推荐(0) 编辑
leetcode1029
摘要:贪心思想:根据人距离A,B城市的费用的“差值”,从大到小排序。排的靠前的优先选择其费用低的城市。如果某个城市的人数已经达到1/2,则剩下的全部选择另外一个城市。这种方式的总体的费用最低。 阅读全文
posted @ 2019-04-21 12:40 Sempron2800+ 阅读(153) 评论(0) 推荐(0) 编辑
leetcode1030
摘要:典型的BFS算法,每一“层”都比前一层的距离多1,因此按层遍历的顺序,即为所求。 阅读全文
posted @ 2019-04-21 12:40 Sempron2800+ 阅读(224) 评论(0) 推荐(0) 编辑
leetcode1028
摘要:1 class Solution(object): 2 def __init__(self): 3 self.List = list() 4 5 def rdfs(self,S): 6 if S != '': 7 length = len(S) 8 depth = len(self.... 阅读全文
posted @ 2019-04-14 18:20 Sempron2800+ 阅读(236) 评论(0) 推荐(0) 编辑
leetcode1027
摘要:最直接的思路是三层循环,但是会超时,代码如下: 但同样的代码,使用java实现,却可以正常提交,leetcode对这道题目的的判断机制有点奇怪。 如果想解决超时问题,可以考虑使用哈希或者dp思想,来减少判断的时间。 这种题目,做起来很麻烦,看看别人的思路吧。 当时没想出来怎么做,经过一段时间的练习( 阅读全文
posted @ 2019-04-14 12:43 Sempron2800+ 阅读(676) 评论(0) 推荐(0) 编辑
leetcode1026
摘要:1 public class Solution 2 { 3 Stack S = new Stack(); 4 int maxValue = 0; 5 public void Trace(TreeNode root) 6 { 7 if (root != null) 8 ... 阅读全文
posted @ 2019-04-14 12:29 Sempron2800+ 阅读(178) 评论(0) 推荐(0) 编辑
leetcode1025
摘要:1 public class Solution 2 { 3 public bool DivisorGame(int N) 4 { 5 if (N % 2 == 1) 6 { 7 return false; 8 } 9 ... 阅读全文
posted @ 2019-04-14 12:28 Sempron2800+ 阅读(89) 评论(0) 推荐(0) 编辑
leetcode1024
摘要:关键的代码是第3行,将二维数组排序,先按第一个数字从小到大,再按第二个数字从小到大。 设定basetag用于存储之前的剪辑的最大时刻,在开始时刻更晚的剪辑中,寻找开始时间小于上一个剪辑的结束时间的所有剪辑中的,结束时间最晚的一个剪辑。 阅读全文
posted @ 2019-04-07 19:45 Sempron2800+ 阅读(183) 评论(0) 推荐(0) 编辑
leetcode1023
摘要:这道题的题目描述不清楚,所以做的时候会中陷阱。有2个问题没有说清楚: 1子字符串是否必须要求连续,也就是字符串Babc与模式Bac是否匹配。本题中的要求是不要求连续,也就是Babc满足Bac模式。 2骆驼模式第一组小写不影响模式,也就是说字符串uBa与模式Ba是匹配的,即使模式没有第一组小写的u字符 阅读全文
posted @ 2019-04-07 16:14 Sempron2800+ 阅读(112) 评论(0) 推荐(0) 编辑
leetcode1022
摘要:使用深度优先,本代码是先序遍历,记录从根到叶子的每条路径的元素值。当遇到叶子节点的时候,按照路径上的节点顺序转化成二进制并计算。遍历整棵树后,就得到了全部路径的总和。 阅读全文
posted @ 2019-04-07 15:08 Sempron2800+ 阅读(120) 评论(0) 推荐(0) 编辑
leetcode1021
摘要:这道题目描述的很清晰,通过一个变量bcode来计算左右括号的数量,当bcode==0的时候,说明满足一个primitive,此时把到目前位置为止的字符串保存下来。 再把所有的primitive字符串都存储好之后。再依次将每一个primitive的第一个(下标0)字符和最后一个(下标len-1)字符去 阅读全文
posted @ 2019-04-07 14:49 Sempron2800+ 阅读(170) 评论(0) 推荐(0) 编辑
leetcode1017
摘要:这道题目很巧妙,似乎是有些过于巧妙了,属于我未知领域的类型,把原作者的解决方案放这里。(看大家都在给差评,我也顺手给个差评吧~~) 参考:https://leetcode.com/problems/convert-to-base-2/discuss/265507/JavaC%2B%2BPython- 阅读全文
posted @ 2019-04-01 09:34 Sempron2800+ 阅读(140) 评论(0) 推荐(0) 编辑
leetcode1020
摘要:解决思路是使用DFS,为了提高效率,只扫描外边框(第一行,最后一行,第一列,最后一列),并使用一个数组记录是否已经访问。 阅读全文
posted @ 2019-04-01 09:03 Sempron2800+ 阅读(115) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示