自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 收藏
  • 关注

原创 快排找第k大的值

def quick(arr, left ,right): ax = arr[left] while left < right: while arr[right] >= ax and left < right: right -= 1 arr[left] = arr[right] while a...

2020-04-24 22:09:25 396

原创 leetcode 95. 不同的二叉搜索树 II

给定一个整数 n,生成所有由 1 ...n 为节点所组成的二叉搜索树。示例:输入: 3输出:[[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树: 1 3 3 2 ...

2020-03-29 00:00:32 136

原创 leetcode 91. 解码方法

一条包含字母A-Z 的消息通过以下方式进行了编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: "12"输出: 2解释:它可以解码为 "AB"(1 2)或者 "L"(12)。示例2:输入: "226"输出: 3解释:它可以解码为 "BZ" (2 26), "...

2020-03-28 22:07:58 148

原创 leetcode 89. 格雷编码

格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。示例 1:输入:2输出:[0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的n,其格雷编码序列并不唯一。例如,[0,2,3,1]也是一个有效的格雷编码序列。00 -...

2020-03-27 17:58:02 111

原创 leetcode 87. 扰乱字符串

给定一个字符串s1,我们可以把它递归地分割成两个非空子字符串,从而将其表示为二叉树。下图是字符串s1="great"的一种可能的表示形式。 great / \ gr eat/ \ / \g r e at / \ a t在扰乱这个字符串的过程中,我们可以挑选任何一个非叶节点,然后交换...

2020-03-27 17:49:21 95

原创 Adam算法

2020-03-27 17:31:08 815

原创 leetcode 85. 最大矩形

给定一个仅包含0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例:输入:[ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1","1","1"], ["1","0","0","1","0"]]输出: 6class Solution: def maximalRec...

2020-03-25 22:51:12 96

原创 leetcode 84. 柱状图中最大的矩形

84. 柱状图中最大的矩形难度困难490收藏分享切换为英文关注反馈给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为[2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为10个单位。...

2020-03-25 22:29:07 162

原创 leetcode 76. 最小覆盖子串

给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串""。 如果 S 中存在这样的子串,我们保证它是唯一的答案。class Solution: def minWindow(self,...

2020-03-20 23:23:44 65

原创 leetcode 75. 颜色分类

给定一个包含红色、白色和蓝色,一共n个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。...

2020-03-20 12:32:39 86

原创 leetode 72. 编辑距离

给定两个单词word1 和word2,计算出将word1转换成word2 所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例1:输入: word1 = "horse", word2 = "ros"输出: 3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose (...

2020-03-16 20:57:44 95

原创 Python分箱统计元素个数

我们经常会在数据分析中碰到这样的一些问题:这组数据都有哪些值?这些值又各自出现了多少次?数据如果不多,我们直接掐指一算也就搞定了。如果数据多指头到不够用,那怎么办呢?在pandas中,应对频数统计,我们就不得不谈一谈value_counts()了。一、离散型数据对于离散型数据,我们可以通过value_counts()的方法来统计各个离散值的频数情况,如下图我们先构造一个Series:...

2020-03-16 14:32:56 2224

原创 leetcode 60. 第k个排列

给出集合[1,2,3,…,n],其所有元素共有n! 种排列。按大小顺序列出所有排列情况,并一一标记,当n = 3 时, 所有排列如下:"123""132""213""231""312""321"给定n 和k,返回第k个排列。说明:给定 n的范围是 [1, 9]。给定 k的范围是[1, n!]。示例1:输入: n = 3, k = 3输出:...

2020-03-12 18:39:06 60

原创 leetcode 57. 插入区间

给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例1:输入: intervals = [[1,3],[6,9]], newInterval = [2,5]输出: [[1,5],[6,9]]示例2:输入: intervals = [[1,2],[3,5],[6,7],[8,...

2020-03-12 15:54:29 71

原创 leetcode 45. 跳跃游戏 II

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳1步,然后跳3步到达数组的最后一个位置。说明:假设你总是可以到达数组的最...

2020-03-04 16:21:40 93

原创 leetcode 44. 通配符匹配

给定一个字符串(s) 和一个字符模式(p) ,实现一个支持'?'和'*'的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符?和*。示例1:输入:s = "aa"p = "a"...

2020-03-04 15:45:15 79

原创 leetcode 43. 字符串相乘

给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1和num2的长度小于110。num1 和num2 只包含...

2020-03-04 15:00:25 100

原创 leetcode 37. 解数独

编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。空白格用'.'表示。一个数独。答案被标成红色。Note:给定的数独序列只包含数字1-9和字符'.'。你可以假设给定的数独只有唯一解。给定数独永...

2020-02-19 18:23:38 92

转载 leetcode 34. 在排序数组中查找元素的第一个和最后一个位置

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8,10],...

2020-02-16 19:26:55 79

原创 leetcode 32. 最长有效括号

给定一个只包含 '('和 ')'的字符串,找出最长的包含有效括号的子串的长度。示例1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"class Solution: def longestValidParentheses(self, s: str) -&gt...

2020-02-16 16:12:43 83

原创 leetcode 31. 下一个排列

实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1i = len(nums) - 1 ...

2020-02-15 20:39:01 113

原创 leetcode 30. 串联所有单词的子串

给定一个字符串s和一些长度相同的单词words。找出 s 中恰好可以由words 中所有单词串联形成的子串的起始位置。注意子串要与words 中的单词完全匹配,中间不能有其他字符,但不需要考虑words中单词串联的顺序。示例 1:输入: s = "barfoothefoobarman", words = ["foo","bar"]输出:[0,9]解释:...

2020-02-15 15:14:28 68

原创 leetcode 29. 两数相除

给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。示例1:输入: dividend = 10, divisor = 3输出: 3示例2:输入: dividend = 7, divisor = -3输出: -2说明:被除数和除数均为 32...

2020-02-14 19:06:18 62

原创 leetcode 25. K 个一组翻转链表

给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3->5当k= 3 时,应当返回: 3->...

2020-02-14 14:26:02 101

原创 leetcode 23. 合并K个排序链表

合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6import heapqclass Solution: def mergeKLists(self, ...

2020-02-12 21:23:02 63

原创 leetcode 22. 括号生成

给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]class Solution: def generateParenthesis(self, n: int) -> List...

2020-02-11 22:47:02 46

原创 leetcode 14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。class Solution: def ...

2020-02-09 18:46:03 69

原创 leetcode 11. 盛最多水的容器

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示...

2020-02-08 17:57:20 62

原创 leetcode 10. 正则表达式匹配

给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符.和*。示例 1:输入:s = "aa"p...

2020-02-08 15:35:15 45

原创 leetcode 4. 寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组nums1 和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 ...

2020-02-05 18:13:23 92

原创 nohup: failed to run command ‘./share_count.sh’: Permission denied

nohup: appending output to ‘nohup.out’nohup: failed to run command ‘./share_count.sh’: Permission denied运行shell脚本出现如上的错误解决方案:在使用nohup命令的时候,经常由于输出nohup.out的路径没有写入权限,而无法使用nohup。这是可以使用Linux...

2019-12-01 14:58:23 8392

原创 leetcode 132. 分割回文串 II

给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回符合要求的最少分割次数。示例:输入:"aab"输出: 1解释: 进行一次分割就可将s 分割成 ["aa","b"] 这样两个回文子串。import functoolsclass Solution: @functools.lru_cache(None) def minCut(self, ...

2019-11-25 00:58:46 72

原创 leetcode 131. 分割回文串

给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入:"aab"输出:[ ["aa","b"], ["a","a","b"]]class Solution: def partition(self, s: str) -> List[List[str]]: res = [] ...

2019-11-24 15:48:54 65

原创 leetcode 128. 最长连续序列

给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为O(n)。示例:输入:[100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。class Solution: def longestConsecutive(self, nums: List[int]) -> int: ...

2019-11-23 19:45:40 70

原创 leetcode 127. 单词接龙

给定两个单词(beginWord和 endWord)和一个字典,找到从beginWord 到endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设 beginWord 和 end...

2019-11-23 19:07:04 98

原创 leetcode 124. 二叉树中的最大路径和

给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例2:输入: [-10,9,20,null,null,15,7] -10/ \9 20/ ...

2019-11-23 16:36:52 98

原创 leetcode 123. 买卖股票的最佳时机 III

给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得...

2019-11-23 15:52:29 52

原创 leetcode 120. 三角形最小路径和

给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为11(即,2+3+5+1= 11)。说明:如果你可以只使用 O(n)的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。c...

2019-11-23 14:21:06 79

原创 leetcode 116. 填充每个节点的下一个右侧节点指针

给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有next 指针都被设...

2019-11-21 22:57:05 65

原创 leetcode 115. 不同的子序列

给定一个字符串S和一个字符串T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE"是"ABCDE"的一个子序列,而"AEC"不是)示例1:输入: S = "rabbbit", T = "rabbit"输出:3解释:如下图所示, 有 3 种可以从 S ...

2019-11-21 20:51:17 99

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除