自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode——Array-1588. 所有奇数长度子数组的和

Leetcode——Array-1588. 所有奇数长度子数组的和1.题目描述2.解题思路3.程序代码 1.题目描述 给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。 子数组 定义为原数组中的一个连续子序列。 请你返回 arr 中 所有奇数长度子数组的和 。 示例 1: 输入:arr = [1,4,2,5,3] 输出:58 解释:所有奇数长度子数组和它们的和为: [1] = 1 [4] = 4 [2] = 2 [5] = 5 [3] = 3 [1,4,2] = 7 [4,2,5] = 1

2021-01-09 23:33:29 123

原创 Leetcode——Array-1560. 圆形赛道上经过次数最多的扇区

Leetcode——Array-1337.方阵中战斗力最弱的 K 行1.题目描述2.解题思路3.程序代码 1.题目描述 给你一个整数 n 和一个整数数组 rounds 。有一条圆形赛道由 n 个扇区组成,扇区编号从 1 到 n 。现将在这条赛道上举办一场马拉松比赛,该马拉松全程由 m 个阶段组成。其中,第 i 个阶段将会从扇区 rounds[i - 1] 开始,到扇区 rounds[i] 结束。举例来说,第 1 阶段从 rounds[0] 开始,到 rounds[1] 结束。 请你以数组形式返回经过次数最多

2020-12-24 10:20:42 98

原创 Leetcode——Array-1337.方阵中战斗力最弱的 K 行

Leetcode——Array-1337.方阵中战斗力最弱的 K 行1.题目描述2.解题思路3.程序代码 1.题目描述 给你一个大小为 m * n 的方阵 mat,方阵由若干军人和平民组成,分别用 1 和 0 表示。 请你返回方阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。 如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。 军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。 示例 1: 输入:mat = [

2020-11-13 22:34:07 101

原创 Leetcode——Array-1002.查找常用字符

Leetcode——Array-1002.查找常用字符1.题目描述2.解题思路3.程序代码 1.题目描述 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。 你可以按任意顺序返回答案。 示例 1: 输入:[“bella”,“label”,“roller”] 输出:[“e”,“l”,“l”] 示例 2: 输入:[“cool”,“lock”,“cook”]

2020-10-23 23:45:44 81

原创 Leetcode——Array-914.卡牌分组

Leetcode——Array-830. 较大分组的位置1.题目描述2.解题思路3.程序代码 1.题目描述 给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X >= 2 时返回 true。 示例 1: 输入:[1,2,3,4,4,3,2,1] 输出:true 解释:可行的分组是 [1,1],[2,2],[3,3],[4,4] 示例 2: 输入:[1,1,1,2,

2020-10-19 14:49:20 99

原创 Leetcode——Array-830. 较大分组的位置

Leetcode——Array-830. 较大分组的位置1.题目描述2.解题思路3.程序代码 1.题目描述 在一个由小写字母构成的字符串 S 中,包含由一些连续的相同字符所构成的分组。 例如,在字符串 S = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。 我们称所有包含大于或等于三个连续字符的分组为较大分组。找到每一个较大分组的起始和终止位置。 最终结果按照字典顺序输出。 示例 1: 输入: “abbxxxxzzy” 输出: [[3,6]

2020-06-24 23:48:48 69

原创 Leetcode——Array-746.使用最小花费爬楼梯

Leetcode——Array-746.使用最小花费爬楼梯1.题目描述2.解题思路3.程序代码 1.题目描述 数组的每个索引作为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi。 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。 示例 1: 输入: cost = [10, 15, 20] 输出: 15 解释: 最低花费是从cost[1]开始,然后走两步即可

2020-05-27 17:01:49 108

原创 Leetcode——Array-724. 寻找数组的中心索引

Leetcode——Array-724. 寻找数组的中心索引1.题目描述2.解题思路3.程序代码 1.题目描述 给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。 如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。 示例 1: 输入: nums = [1, 7, 3, 6, 5, 6] 输出: 3 解释: 索引3 (nums[3] =

2020-05-27 11:10:56 169

原创 Leetcode——Array-717.1比特与2比特字符

Leetcode——Array-717.1比特与2比特字符1.题目描述2.解题思路3.程序代码 1.题目描述 有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。 现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。 示例 1: 输入: bits = [1, 0, 0] 输出: True 解释: 唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个字符是一比特字符。 示例 2: 输入: bits = [1, 1

2020-05-25 22:39:08 103

原创 Leetcode——Array-697.数组的度

Leetcode——Array-697.数组的度1.题目描述2.解题思路3.程序代码 1.题目描述 给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 1: 输入: [1, 2, 2, 3, 1] 输出: 2 解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2. 连续子数组里面拥有相同度的有如下所示: [1, 2, 2, 3, 1], [1, 2, 2, 3], [

2020-05-25 21:56:11 209

原创 Leetcode——Array-661. 图片平滑器

Leetcode——Array-661. 图片平滑器1.题目描述2.解题思路3.程序代码 1.题目描述 包含整数的二维矩阵 M 表示一个图片的灰度。你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽可能多的利用它们。 示例 1: 输入: [[1,1,1], [1,0,1], [1,1,1]] 输出: [[0, 0, 0], [0, 0, 0], [0, 0, 0]] 解释: 对于点 (0,0), (0,2),

2020-05-25 17:18:01 109

原创 Leetcode——Array-605. 种花问题

Leetcode——Array-605. 种花问题1.题目描述2.解题思路3.程序代码 1.题目描述 假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回True,不能则返回False。 示例 1: 输入: flowerbed = [1,0,0,0,1], n = 1 输出: True 示例

2020-05-22 17:25:52 149

原创 Leetcode——Array-566. 重塑矩阵

Leetcode——Array-566. 重塑矩阵1.题目描述2.解题思路3.程序代码 1.题目描述 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。 重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。 如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。 示例 1: 输入: nums = [[1

2020-05-21 22:31:51 111

原创 Leetcode——Array-509. 斐波那契数

Leetcode——Array-509. 斐波那契数1.题目描述2.解题思路3.程序代码 1.题目描述 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 给定 N,计算 F(N)。 示例 1: 输入:2 输出:1 解释:F(2) = F(1) + F(0) = 1 + 0 = 1. 示例 2: 输

2020-05-20 23:51:04 116

原创 Leetcode——Array-189. 旋转数组

Leetcode——Array-189. 旋转数组1.题目描述2.解题思路3.程序代码 1.题目描述 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4] 示例 2: 输入: [-1,-100,3,99] 和 k = 2

2020-05-20 15:04:47 119

原创 Leetcode——Array-169. 多数元素

Leetcode——Array-169. 多数元素1.题目描述2.解题思路3.程序代码 1.题目描述 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2 2.解题思路 解法一:暴力解法 其实也不算暴力解法,就是使用python自带的sort函数先排序,因为多数元素超过n//2,所以第n

2020-05-20 11:14:53 142

原创 Leetcode——Array-121. 买卖股票的最佳时机

Leetcode——Array-121. 买卖股票的最佳时机1.题目描述2.解题思路3.程序代码 1.题目描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润

2020-05-19 17:45:10 127

原创 Leetcode——Array-118. 杨辉三角

Leetcode——Array-118. 杨辉三角1.题目描述2.解题思路3.程序代码 1.题目描述 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 2.解题思路 解法一:按照定义解题 解法二:取巧法 观察一下规律,发现当前一行只比上一行多了一个元素,最最关键的一点:本行元素等于上一行元素往后错一位再逐个相加。

2020-05-19 16:44:18 91

原创 Leetcode——Array-88. 合并两个有序数组

Leetcode——Array-88. 合并两个有序数组1.题目描述2.解题思路3.程序代码 1.题目描述 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2

2020-05-19 15:29:31 103

原创 Leetcode——Array-53. 最大子序和

Leetcode——Array-53. 最大子序和1.题目描述2.解题思路3.程序代码 1.题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 2.解题思路 解法一:DP(动态规划思想) 不断的比较累加值和当前值,有两种情况:1

2020-05-19 13:42:26 103

原创 Leetcode——Array-27. 移除元素

Leetcode——Array-27. 移除元素1.题目描述2.解题思路3.程序代码 1.题目描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。 你不需要

2020-05-17 23:59:27 82

原创 Leetcode——Array-26. 删除排序数组中的重复项

Leetcode——Array-26. 删除排序数组中的重复项1.题目描述2.解题思路3.程序代码 1.题目描述 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 示例 2: 给定

2020-05-17 15:22:46 107

原创 Leetcode——Array-1.两数之和

Leetcode——Array-1-两数之和1.题目描述2.解题思路3.程序代码 1.题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 2.解题思路 用字典模拟哈希求解,速度是最快

2020-05-17 15:12:45 192

空空如也

空空如也

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

TA关注的人

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