- 博客(19)
- 收藏
- 关注
原创 基础算法(Leetcode)刻意练习训练营:第十九天打卡
今天的题目是100. 相同的树递归 # p and q are both None if not p and not q: return True # one of p and q is None if not q or not p: return False if p...
2020-03-18 22:31:22
186
原创 基础算法(Leetcode)刻意练习训练营:第十八天打卡
今天的题目是10. 正则表达式匹配class Solution(object): def isMatch(self, text, pattern): memo = {} def dp(i, j): if (i, j) not in memo: if j == len(pattern): ...
2020-03-18 22:27:54
223
原创 基础算法(Leetcode)刻意练习训练营:第十七天打卡
今天的题目是5. 最长回文子串这题不会,周末深造class Solution: def longestPalindrome(self, s: str) -> str: if(not s or len(s)==1): return s n=len(s) dp=[[False]*n for _ in range(...
2020-03-16 22:04:49
259
原创 基础算法(Leetcode)刻意练习训练营:第十六天打卡
今天的题目是3. 无重复字符的最长子串用双指针滑动窗口的方式,时间复杂度O(n)class Solution: def lengthOfLongestSubstring(self, s: str) -> int: # 如果字符串s为空,返回0 if not s:return 0 # 保存窗口内字符串 lookup =...
2020-03-16 21:56:20
207
原创 基础算法(Leetcode)刻意练习训练营:第十五天打卡
今天的题目是20. 有效的括号用的是数组模拟栈,字典记录括号关系class Solution: def isValid(self, s: str) -> bool: # 栈数组(存放左括号) left = [] # 如果输入为空,则直接返回True if s == '': return Tru...
2020-03-15 18:48:14
185
原创 基础算法(Leetcode)刻意练习训练营:第十四天打卡
今天的题目是14. 最长公共前缀乍看题目不难,难度也是简单,先弄了一个纯暴力解法。再去看好的题解。class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: # 前缀 pre = '' # 如果长度为空直接返回 if len(strs) ==...
2020-03-14 22:39:29
119
原创 基础算法(Leetcode)刻意练习训练营:第十三天打卡
今天的题目是13. 罗马数字转整数简单的题还是搞的定的,就是效率貌似不高,正常遍历,顺便处理特诉情况class Solution: def romanToInt(self, s: str) -> int: # 7种字母对应数字表 dic = {'I':1, 'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1...
2020-03-12 23:01:10
164
原创 基础算法(Leetcode)刻意练习训练营:第十二天打卡
今天的题目是23. 合并K个排序链表我表示需要回去继续打基础这个不看题解连思路都没有class Solution: def mergeKLists(self, lists: List[ListNode]) -> ListNode: import heapq dummy = ListNode(0) p = dummy ...
2020-03-12 22:33:59
114
原创 基础算法(Leetcode)刻意练习训练营:第十一天打卡
今天的题目是19. 删除链表的倒数第N个节点class Solution: def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode: p, q = head, head for cur in range(n): if p: p...
2020-03-11 20:58:27
101
原创 基础算法(Leetcode)刻意练习训练营:第十天打卡
今天的题目是2. 两数相加第一种循环:class Solution: def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode: r = re = ListNode(0) carry = 0 while(l1 or l2): x = l1....
2020-03-10 20:59:04
174
原创 基础算法(Leetcode)刻意练习训练营:第九天打卡
今天的题目是141. 环形链表检查链表是否有环的方法以前听过 快慢指针的方法。class Solution: def hasCycle(self, head: ListNode) -> bool: # 如果链表为空或只有一个元素,直接返回没有环 if not head or not head.next:return False # 定义2...
2020-03-08 22:32:16
136
原创 基础算法(Leetcode)刻意练习训练营:第八天打卡
今天的题目是83. 删除排序链表中的重复元素昨天学Django学的忘了做题,今天来补。链表去重,是考察指针使用的基本操作,没有太多花样。class Solution: def deleteDuplicates(self, head: ListNode) -> ListNode: # 新建一个操作位指针,初始指向head cur = head ...
2020-03-08 19:57:34
161
原创 基础算法(Leetcode)刻意练习训练营:第七天打卡
今天的题目是21. 合并两个有序链表从前两天负责的题目又回到了简单的列表,简单归简单,我的脑回路对指针有天然的弱势,这个题之前其实做过,今天第一眼看还是很闷,常见解法有递归和循环两种。递归:class Solution: def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode: # 如果链1...
2020-03-07 10:30:50
417
原创 基础算法(Leetcode)刻意练习训练营:第六天打卡
今天的题目是123. 买卖股票的最佳时机 III说实话没血动态规划和深度搜索,完全不会做,看了题解,等周末再好好吸收巩固。 if not prices: return 0 dpI0 = [0] * 3 dpI1 = [float('-INF')] + [- prices[0]] * 2 for i in r...
2020-03-05 23:20:33
469
原创 基础算法(Leetcode)刻意练习训练营:第五天打卡
今天的题目是16. 最接近的三数之和这题解法和昨天三数之和是类似的,三指针向内夹,当和目标一致直接返回。class Solution: def threeSumClosest(self, nums: List[int], target: int) -> int: # 特判:n=3,返回sum(nums) n = len(nums) ...
2020-03-04 21:46:47
296
原创 基础算法(Leetcode)刻意练习训练营:第四天打卡
今天的题目是15. 三数之和这道题之前只想到暴力3层循环,后来看题解是先排序然后三指针循环查找,感觉还是挺晕的。class Solution(object): def threeSum(self, nums): if not nums: return [] # 正式处理之前,先将数组排序 nums = sorted(nums) n = len(nums) res ...
2020-03-03 21:53:21
420
原创 基础算法(Leetcode)刻意练习训练营:第三天打卡
今天的题目是27. 移除元素这个题和昨天的很像,先用倒序移除元素的方式来了一遍,OKclass Solution: def removeElement(self, nums: List[int], val: int) -> int: for i in range(len(nums) - 1, -1, -1): if nums[i] == v...
2020-03-02 21:54:28
415
原创 基础算法(Leetcode)刻意练习训练营:第二天打卡
今天的题目是26. 删除排序数组中的重复项阅读题目后有2点需要注意:1.必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。2.输出的结果不是去重后的数组,而是一个整数,而系统会根据这个整数输出数组中的前n个数字,所以需要把不重复的数字集中在列表前面,而后面是什么系统不管。class Solution: def removeDuplicates(self, nums: ...
2020-03-01 21:12:09
154
原创 基础算法(Leetcode)刻意练习训练营:第一天打卡
机缘巧合参加LSGO马老师的刻意练习训练营,和一大群在校学生一起学习。找出10年买的老古董MBP,做题同时要求写博客,刻意练习,加油!!!第一天的题目也是第一题,[《两数之和》](https://leetcode-cn.com/problems/two-sum/),这个题在第一次知道力扣时做过,刚看到这个题其实我除了暴力算法是没有想出其他解法的,虽然我知道暴力算法肯定不是最优解,后来看了别...
2020-02-29 23:31:25
536
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人