![](https://img-blog.csdnimg.cn/20181113173505593.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
【leetcode】【#数组】【Python】
【leetcode】【#数组】【Python】解题思路总结
风轻扬逍遥子
这个作者很懒,什么都没留下…
展开
-
【leetcode】#数组【Python】120. Triangle 三角形最小路径和
链接:https://leetcode-cn.com/problems/triangle/题目:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果...原创 2018-11-13 16:42:30 · 282 阅读 · 0 评论 -
【leetcode】#数组【Python】106. Construct Binary Tree from Inorder and Postorder Traversal 从中序与后序遍历序列构造二叉树
链接:https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/题目:根据一棵树的【中序遍历】与【后序遍历】构造二叉树。注意: 你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder...原创 2018-11-13 00:13:36 · 344 阅读 · 0 评论 -
【leetcode】#数组【Python】105. Construct Binary Tree from Preorder and Inorder Traversal 从前序与中序遍历序列构造二叉树
链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/题目:根据一棵树的前序遍历与中序遍历构造二叉树。注意: 你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9...原创 2018-11-13 00:00:41 · 513 阅读 · 0 评论 -
【leetcode】#数组【Python】90. Subsets II 子集 II
链接:https://leetcode-cn.com/problems/subsets-ii/题目:给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2] 输出: [ [2], [1], [1,2,2], [2,2], [1,2], [] ]我的解法: 举例[1,2...原创 2018-11-12 21:49:28 · 292 阅读 · 0 评论 -
【leetcode】#数组【Python】81. Search in Rotated Sorted Array II 搜索旋转排序数组 II
链接:https://leetcode-cn.com/problems/search-in-rotated-sorted-array-ii/题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 fals...原创 2018-11-13 15:57:01 · 189 阅读 · 0 评论 -
【leetcode】#数组【Python】80. Remove Duplicates from Sorted Array II 删除排序数组中的重复项 II 双指针
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii/题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定 nums = [...原创 2018-11-12 19:05:40 · 284 阅读 · 1 评论 -
【leetcode】#数组【Python】79. Word Search 单词搜索
链接:https://leetcode-cn.com/problems/word-search/题目:给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board = [[‘A’,‘B’,‘C’,‘E’],[‘S’,‘F...原创 2018-11-12 16:47:45 · 343 阅读 · 0 评论 -
【leetcode】#数组【Python】78. Subsets 子集 位运算
链接:https://leetcode-cn.com/problems/subsets/题目:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [...原创 2018-11-12 11:23:28 · 493 阅读 · 0 评论 -
【leetcode】#数组【Python】75. Sort Colors 颜色分类
链接:https://leetcode-cn.com/problems/sort-colors/题目:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意: 不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1...原创 2018-11-09 13:52:14 · 387 阅读 · 0 评论 -
【leetcode】#数组【Python】74. Search a 2D Matrix 搜索二维矩阵
链接:https://leetcode-cn.com/problems/search-a-2d-matrix/题目:编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。示例 1:输入: matrix = [ [1, 3, 5, 7], [10, 11,...原创 2018-11-09 12:33:27 · 216 阅读 · 0 评论 -
【leetcode】#数组【Python】73. Set Matrix Zeroes 矩阵置零
链接:https://leetcode-cn.com/problems/set-matrix-zeroes/题目:给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例 1:输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0],[1,0,1...原创 2018-11-08 23:22:25 · 173 阅读 · 0 评论 -
【leetcode】#数组【Python】64. Minimum Path Sum 最小路径和
链接:https://leetcode-cn.com/problems/minimum-path-sum/题目:给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1...原创 2018-11-08 20:05:45 · 166 阅读 · 0 评论 -
【leetcode】#数组【Python】63. Unique Paths II 不同路径 II
链接:https://leetcode-cn.com/problems/unique-paths-ii/题目:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空...原创 2018-11-08 19:22:13 · 146 阅读 · 0 评论 -
【leetcode】#数组【Python】62. Unique Paths 不同路径
链接:https://leetcode-cn.com/problems/unique-paths/题目:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径? 示例 1:输入: m = 3, n = 2 输出: 3 解释: ...原创 2018-11-08 17:37:47 · 156 阅读 · 0 评论 -
【leetcode】#数组【Python】59. Spiral Matrix II螺旋矩阵 II
链接:https://leetcode-cn.com/problems/spiral-matrix-ii/题目:给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]我的解法:先给9,然后每次把矩阵顺时针旋转,顶部push...原创 2018-11-08 15:20:06 · 406 阅读 · 0 评论 -
【leetcode】#数组【Python】56. Merge Intervals合并区间
链接:https://leetcode-cn.com/problems/merge-intervals/题目:给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间[1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1...原创 2018-11-08 12:51:16 · 257 阅读 · 0 评论 -
【leetcode】#数组【Python】55. Jump Game 跳跃游戏
链接:https://leetcode-cn.com/problems/jump-game/题目:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4] 输出: true 解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。 示例 2:输...原创 2018-11-07 23:45:27 · 302 阅读 · 0 评论 -
【leetcode】#数组【Python】54. Spiral Matrix 螺旋矩阵
链接:https://leetcode-cn.com/problems/spiral-matrix/题目:给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:...原创 2018-11-07 20:01:11 · 519 阅读 · 0 评论 -
【leetcode】#数组【Python】48. Rotate Image 旋转图像 zip
链接:https://leetcode-cn.com/problems/rotate-image/题目:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]...原创 2018-11-07 16:14:37 · 225 阅读 · 0 评论 -
【leetcode】#数组【Python】40. Combination Sum II 组合总和 II
链接:https://leetcode-cn.com/problems/combination-sum-ii/题目:给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示...原创 2018-11-06 00:31:50 · 167 阅读 · 0 评论 -
【leetcode】#数组【Python】39. Combination Sum 组合总和 回溯
链接:https://leetcode-cn.com/problems/combination-sum/题目:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合...原创 2018-11-04 21:52:15 · 386 阅读 · 0 评论 -
【leetcode】#数组【Python】33. Search in Rotated Sorted Array 搜索旋转排序数组
链接:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组...原创 2018-11-03 21:06:02 · 235 阅读 · 0 评论 -
【leetcode】#数组【Python】18. 4Sum 四数之和
链接:https://leetcode-cn.com/problems/4sum/题目:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [...原创 2018-11-01 11:12:25 · 186 阅读 · 0 评论 -
【leetcode】#数组【Python】16. 3Sum Closest 最接近的三数之和
链接:https://leetcode-cn.com/problems/3sum-closest/题目:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 targ...原创 2018-10-30 23:58:34 · 221 阅读 · 0 评论 -
【leetcode】#数组【Python】15. 3Sum 三数之和
题目:我的解法1: 超时了,扎心了class Solution(object): def threeSum(self, nums): sol = [] for i in range(len(nums)): for j in range(i+1, len(nums)): sum_2 = nums[i]...原创 2018-10-30 14:18:51 · 248 阅读 · 0 评论 -
【leetcode】#数组【Python】122. Best Time to Buy and Sell Stock II 买卖股票的最佳时机 II
链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/题目:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:...原创 2018-10-29 15:42:01 · 131 阅读 · 0 评论 -
【leetcode】#数组【Python】121. Best Time to Buy and Sell Stock 买卖股票的最佳时机
题目:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意...原创 2018-10-29 11:01:32 · 136 阅读 · 0 评论 -
【leetcode】#数组【Python】119. Pascal's Triangle II 杨辉三角 II
题目:给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。示例:输入: 3输出: [1,3,3,1]我的解法:运用杨辉三角的公式直接计算class Solution(object): def getRow(self, rowIndex): tri = [] for i in range(rowIndex+1): ...原创 2018-10-28 00:11:09 · 157 阅读 · 0 评论 -
【leetcode】#数组【Python】118. Pascal's Triangle 杨辉三角
题目:给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]我的解法:顾名思义,一行一行求row,再append起来class Solution: def generate(self, nu...原创 2018-10-27 23:47:15 · 164 阅读 · 0 评论 -
【leetcode】#数组【Python】88. Merge Sorted Array 合并两个有序数组
题目:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 ...原创 2018-10-27 17:46:28 · 259 阅读 · 0 评论 -
【leetcode】#数组【Python】66. Plus One加一
题目:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。我...原创 2018-10-25 16:28:39 · 203 阅读 · 0 评论 -
【leetcode】#数组【Python】53. Maximum Subarray最大子序和
题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。我的解法:O(n)class Solution: def maxSubArray(self, nums): curSu...原创 2018-10-23 17:00:48 · 150 阅读 · 0 评论 -
【leetcode】#数组【Python】35. Search Insert Position搜索插入位置
题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0我的...原创 2018-10-21 17:43:55 · 270 阅读 · 0 评论 -
【leetcode】#数组【Python】27. Remove Element移除元素
【leetcode】#数组【Python】27. Remove Element移除元素题目:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3...原创 2018-10-21 15:15:14 · 216 阅读 · 0 评论 -
【leetcode】#数组【Python】26. Remove Duplicates from Sorted Array 删除排序数组中的重复项
题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 ...原创 2018-10-21 16:40:51 · 137 阅读 · 0 评论 -
【leetcode】#数组【Python】总结篇—— Medium难度
Medium1> 15. 3Sum 三数之和详细解题: https://blog.csdn.net/u014256231/article/details/83514830题目大意: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。给定数组 nums = [-1, 0, 1,...原创 2018-11-14 22:39:41 · 836 阅读 · 0 评论 -
【leetcode】#数组【Python】总结篇——Easy难度
1> 27. Remove Element移除元素详细解题: https://blog.csdn.net/u014256231/article/details/83241338题目大意:给定一个数组 nums 和一个值 val,原地移除所有数值等于 val 的元素,返回移除后数组的新长度。示例: 给定 nums = [0,1,2,2,3,0,4,2], val = 2, 函数应该返回新...原创 2018-11-14 00:13:00 · 376 阅读 · 0 评论