LeetCode(Hard)
链表:23.
数据库:
weixin_...
这个作者很懒,什么都没留下…
展开
-
42. Trapping Rain Water接水Python
给定n个表示高度的非负整数,其中每个条的宽度为1,计算下雨后它能捕获多少水。Input:[0,1,0,2,1,0,1,3,2,1,2,1]Output:6Method 1以数组中最大值为标准,area=max×len(height)。每次循环都减掉没有达到最大值的部分的那层。如下图,第一次减掉黄色的部分,第二次减掉蓝色的部分,第三次减掉粉色的部分。最后结果减掉所有数的和,剩下的就是装水量。用l和r代表左右两侧,每次l从0开始,r从数组的长度开始向中间合并。当l或者r位置的值小于数原创 2020-08-01 12:30:02 · 174 阅读 · 0 评论 -
41. First Missing Positive查找list中缺少的最小正整数Python
给定一个未排序的数组,查找出里面缺少的最小正整数。Input Output [1,0,2] 3 [3,2,4,1] 5 [0,2,-1] 1 Clue: 从1开始到数组中的最大值,如果这个数没有在数组中出现则返回这个数。为了防止数组为空或者里面的数都小于1,所以最后要返回1。6行解决。line1-2:数组为空返回1line3-5:数组不存在当前的数,max(nums)+2是因为当数组中最大值是1时,需要将循环进行2次。for循环的range是左闭右开.原创 2020-07-31 07:31:51 · 757 阅读 · 0 评论 -
32. Longest Valid Parentheses最长有效括号Python
给定仅包含字符'('和')'的字符串,请找到最长的有效(格式正确)括号子字符串的长度。Input: '(()'Output: 2 '()'长度为2Input: ')()())'Output: 4 '()()'长度为4Method 1遍历所有连续的子括号,如果有效则取最大的长度(Time Limit Exceeded超时)首先利用之前22题第二个方法判断括号是否有效的函数判断是否有效。然后遍历连续括号,括号要限定以‘(’为开头。将括号添加到一个新的变量res中,如果满足有效括号..原创 2020-06-26 10:53:20 · 164 阅读 · 0 评论 -
23. Merge k Sorted Lists合并k个排序链表
合并k个排序的链表,并将其作为一个排序表返回。分析并描述其复杂性。Input:[ 1->4->5, 1->3->4, 2->6 ]Output:1->1->2->3->4->4->5->6Clue: 建立一个list将节点对应的值存到list里面,然后对list进行排序, 将里面的点输出为ListNode形式# Definition for singly-linked list.# class Lis...原创 2020-06-25 11:43:35 · 162 阅读 · 0 评论 -
10. Regular Expression Matching正则表达式匹配Python
给定一个输入字符串s和一个模板p,实现支持'.'的正则表达式匹配和'*',p必须涵盖所有s中的字符串。.;可以表示任何单一字符串*:可以表示0个或者多个前一个字符假设s由a-z字母组成,p由a-z和.*组成Input Output s='ab' p='.*' True(.=a,;*=.=任意字符=b) s='aab' p='c*a*b' True(p=c0aab) s='mississippi' p='mis*is*p*.' False(p=mi...原创 2020-06-15 08:28:13 · 188 阅读 · 0 评论 -
4. Median of Two Sorted Arrays两个有1序数组的中位数Python
有两个分别为大小m和n的排序数组nums1和nums2。找到两个排序数组的中位数。总体运行时复杂度应为O(log(n+m))。 假设nums1和nums2不能都为空。 nums1 nums2 Median A [2] [] 2 B [3] [-2,-1] -1 C [1,3,4] [-2,5,6] 3.5 题中的中位数是相当于把nums1和nums2合并之后从小到大排序中间的数, 不考虑时间复杂度可以用sor..原创 2020-06-12 13:54:15 · 120 阅读 · 0 评论