
LeetCode weekly digest
ZXY_Hobby
月亮与六便士里有这么一句话,每天做两件讨厌的事对自己的灵魂是有好处的
展开
-
LeetCode71. Simplify Path
Solution:用栈解决。将路径字符串分割。可得到元素 ‘’,’.’,’…’,‘目录名’ 共4种情况。执行入栈操作,对4种元素:遇到 ‘…’ & 此时栈不空,出栈。遇到目录名str,压入栈。遇到 ‘’ | ‘.’,无动作。根据题中格式,连接元素。Gain:栈用python实现,是list对象 => stack=[]对应的出栈 stack.pop(),入栈...原创 2019-09-07 12:20:36 · 220 阅读 · 0 评论 -
LeetCode5. Longest Palindromic Substring
Solution:采用中心扩散法,从左至右依次成为中心,子串长度为 1 ~ size 的范围内,判断当前是否满足回文的条件。子串长度最长的即为所求。满足回文条件有2种情况:长度为 odd,子串是一个中心对称的子序列长度为 even,子串是同一个字符。复杂度分析:时间复杂度 O(N^2)空间复杂度 O(N)Gain:Python字符串截取,范围 [ , ...原创 2019-09-07 18:26:08 · 180 阅读 · 0 评论 -
LeetCode3. Longest Substring Without Repeating Characters
Solution:按顺序保留的连续、不重复的字符,当遇到重复的位置,舍弃重复字符之前的字符(包括该字符)添加当前字符,计算当前长度,遍历每个字符,取max。Gain:利用元组给变量赋初值查找列表中元素对应的索引...原创 2019-09-07 20:02:37 · 166 阅读 · 0 评论 -
LeetCode8. String to Integer
lstrip(): 去掉左侧空格和指定字符解包* :取出List对象的元素正则表达式:^ :[ ] :\d :数字+:元素有1个或多个? :元素可有可无。1或0个原创 2019-09-12 19:54:52 · 207 阅读 · 0 评论 -
LeetCode11. Container With Most Water
Solution最直观的是暴力枚举所有情况,共C(n,2)种。双指针方法,通过不断缩小结果的上下限,用一次遍历得到结果。具体方法:头尾各一个指针,每次移动height最短的一端的指针,使得接下来的结果有可能变大,(若移动长板,下一个结果一定是小于等于当前结果)。直到两个指针重合,res始终保存当前最优的结果。class Solution: def maxArea(self, ...原创 2019-09-16 22:09:41 · 216 阅读 · 0 评论