自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode#209. 长度最小的子数组(中等)

题目描述 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。 题目地址:https://leetcode-cn.com/problems/minimum-size-subarray-sum 方法:双指针/滑动窗口 第一种是每个循环计算窗口内元素之和,根据和与s的大小关系改变窗口大小。 耗时久 class Solution: def minSubArrayLen(self, s: int,

2020-05-24 15:35:44 151

原创 leetcode#485. 最大连续1的个数

题目描述 给定一个二进制数组, 计算其中最大连续1的个数。 方法一:设置计数 每遇到1,计数家一,遇到0计数置零,更新结果为最大的计数。 class Solution: def findMaxConsecutiveOnes(self, nums: List[int]) -> int: ans, count = 0, 0 for i in range(len(nums)): if nums[i] == 1:

2020-05-24 14:07:35 215

原创 leetcode#136.只出现一次的数字

题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 要点分析 不考虑额外空间限制的条件可以有三种解法: 遍历数组,用HashMap记录每个元素出现的次数;遍历HAshMap找出只出现了一次的那个。 利用集合去重,因为每个其他元素都出现两次,则对集合求和*2 - 数组求和 = 出现一次的元素。 遍历数组,用另一个集合记录元素,当集合中已存在该元素时删去,最后剩下的即为所求元

2020-05-23 14:02:20 154

原创 leetcode#118. 杨辉三角

题目描述 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 题目地址: https://leetcode-cn.com/problems/pascals-triangle/ 要点分析 每一行的头和尾元素均初始化为1; 中间元素由上层[i-1][j-1]+[i-1][j]构成; 运用动态规划思想通过前层生成后层,构造一个ans=[ ]用来存储结果,每一层的结果append到ans中,numRows=0时不执行循环直接返回ans=[ ]; 每行的长度可以预先确定。 class So

2020-05-22 22:58:33 152

原创 leetcode#54. 螺旋矩阵(中等)

题目描述 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 题目地址:https://leetcode-cn.com/problems/spiral-matrix/ 要点分析 需要转变方向右两种情况,一是下一步超越矩阵边界,二是下一步到达已遍历的元素,排除掉这两种情况即可; 转变方向可以通过实现方向数组,对已遍历的的元素进行标记; class Solution: def spiralOrder(self, matrix: List[Lis

2020-05-22 21:16:55 203

原创 leetcode498. 对角线遍历(中等)

给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。 说明: 给定矩阵中的元素总数不会超过 100000 。 题目链接: https://leetcode-cn.com/problems/diagonal-traverse/ 方法一 找对角线的规律,以自右上向左下的对角为例,元素坐标逐个[i+1][j-1]; 对角线方向互相交替,统一按照统一方向提取,奇数组并入结果前先进行翻转。 代码实现: 外层循环遍历所有对角线 内层循环根

2020-05-22 19:33:07 239

原创 leetcode#66. 加一

题目描述 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 方法一: 按照数组倒序,若当前位+1小于九,直接返回当前数组;大于9则当前位置零,判断高一位的情况。 class Solution: def plusOne(self, digits: List[int]) -> List[int]: # 倒序向数组元素+1 # for

2020-05-22 15:57:13 86

原创 leetcode#747. 至少是其他数字两倍的最大数

题目描述 在一个给定的数组nums中,总是存在一个最大元素 。 查找数组中的最大元素是否至少是数组中每个其他数字的两倍。 如果是,则返回最大元素的索引,否则返回-1。 提示: nums 的长度范围在[1, 50]. 每个 nums[i] 的整数范围在 [0, 100]. 题目地址:https://leetcode-cn.com/problems/largest-number-at-least-twice-of-others/ 方法一: 参考文档 Created with Raphaël 2.2.0输入数

2020-05-22 15:15:00 123

原创 leetcode#724. 寻找数组的中心索引

题目描述 给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。 如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。 注意: nums 的长度范围为 [0, 10000]。 任何一个 nums[i] 将会是一个范围在 [-1000, 1000]的整数。 要点分析 左侧和右侧元素相加时,均不包括中心索引的元素; 要擅于利用数学关系:

2020-05-22 14:10:53 122

空空如也

空空如也

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

TA关注的人

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