![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
GZHermit
前进是痛苦的
停滞是舒适的
展开
-
LeetCode(2) Add Two Numbers
简单的两个链表数值合并的操作,需要注意的就是极端样例。# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def fuse(self,l1,l2,is原创 2017-12-11 10:39:45 · 202 阅读 · 0 评论 -
LeetCode(0) 专栏简介
为面试做准备,先刷一下LeetCode题目标号和LeetCode上面题号是对应的,可以按照题号直接查询长期更新语言: Python 编译环境: Python3欢迎私信,评论和点赞,看到一定会及时回复共同进步,祝好~原创 2017-12-11 10:43:34 · 293 阅读 · 0 评论 -
LeetCode(3) Longest Substring Without Repeating Characters
求一个字符串里最长连续不重复子串。O(n2)O(n^2) 的算法肯定会超时,但是思想有一定借鉴意义。O(n2)O(n^2)的算法思路: 指示器j,用一个长度为n的列表flag,初始化置为0,flag[a]=b表示在s[0]到s[a]的子串中最长连续不重复子串是从s[b]到s[a]。设置计数器maxlen=0, 表示目前最长的连续不重复子串的长度为maxlen。那对于s[j]来说,从s[j-1]开原创 2017-12-20 17:06:42 · 311 阅读 · 0 评论 -
LeetCode(14) Longest Common Prefix
给一个由字符串组成的list,找出这个list里面所有字符串的最长公共前缀。 思路很简单,首先找出这个list里面最短的str,然后拿这个str作为模板,拿其他的str挨个去跟这个str比对就行了。下附AC代码class Solution: def longestCommonPrefix(self, strs): """ :type strs: List[s原创 2017-12-20 17:44:38 · 304 阅读 · 0 评论 -
LeetCode(20) Valid Parentheses
简单的括号匹配题,用栈即可解决。下附AC代码。class Solution: def isValid(self, s): """ :type s: str :rtype: bool """ bracket={')':'(','}':'{',']':'['} stack = ['' for i in原创 2017-12-20 17:55:27 · 228 阅读 · 0 评论 -
LeetCode(26) Remove Duplicates from Sorted Array
这道题的描述有问题,它让我们返回一个int,但是run的时候你会看见你的output是一个list。为什么呢?是因为它其实是要你把Array里面所有重复的元素去掉,然后把剩下的互不重复的元素调整到Array前面来。你返回的是length,然后Array[:length]得互相不重复。 举个例子: nums=[1,1,2] 你返回的length应该为2,但是同时nums你也要去调整它,让nums原创 2017-12-20 18:32:51 · 250 阅读 · 0 评论 -
LeetCode(27) Remove Element
这道题跟26题的测评方法类似,思路也很简单,就是遍历数组,把与val不相同的数调到前面就行。下附AC代码:class Solution: def removeElement(self, nums, val): """ :type nums: List[int] :type val: int :rtype: int原创 2017-12-21 15:10:59 · 190 阅读 · 0 评论 -
LeetCode(28) Implement strStr()
这道题就是要求实现re里面的那个re.match()功能。 坑的地方主要就是在两个字符串都是空的时候。还有下面的代码可以更简化一点,内循环可以用判断haystack[i:i+len(needle)] == needle来实现,Python的切片功能还是很实用的。下附AC代码:class Solution: def strStr(self, haystack, needle):原创 2017-12-21 17:01:08 · 254 阅读 · 0 评论 -
LeetCode(5) Longest Palindromic Substring
题意:求一个字符串s的最长回文子串,并且返回这个子串,如果有多个相同长度的子串,可以返回任意一个。这道题提示了s的长度不会超过1000,因此用O(n2)O(n^2)的算法去求是没有问题的,即遍历字符串里面每一个字符,以这个字符为中心向两边扩展,然后记录回文达到的最长长度,以及最长回文子串的中心字符的索引即可。但是可以使用Manacher算法,使得时间复杂度优化到O(n)O(n),不过空间复杂度会从O原创 2017-12-22 18:37:37 · 333 阅读 · 0 评论