自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 54.螺旋矩阵

主函数用来根据映射函数的方向向该方向遍历,将走过的矩阵步数置1,同时将走过的matrix路线保存在结果里,当走到临界点时,循环判断。方向函数用来传入当前走的位置以及映射矩阵大小,根据映射矩阵确定待走方向。时间复杂度 𝑂(𝑚×𝑛) 空间复杂度𝑂(𝑚×𝑛)通过它来判断上下左右方向,以及是否结束,创建一个对应维度的全0矩阵,走过为1,当映射矩阵全1时说明遍历结束,返回结果。结束条件为全0,位置顺序为上下左右。juzhen为创建的映射矩阵,,返回矩阵中的所有元素。

2024-07-11 21:47:35 190

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

主要差距在代码逻辑上。输入:s = "wordgoodgoodgoodbestword", words = ["word","good","best","word"]它是 words 中以 ["the","foo","bar"] 顺序排列的连接。输入:s = "barfoofoobarthefoobarman", words = ["bar","foo","the"]子串 "foobar" 开始位置是 9。输入:s = "barfoothefoobarman", words = ["foo","bar"]

2024-07-11 15:45:18 527

原创 leetcode 12.整数转罗马数字

如果该值以 4 或 9 开头,使用 减法形式,表示从以下符号中减去一个符号,例如 4 是 5 (V) 减 1 (I): IV ,9 是 10 (X) 减 1 (I):IX。仅使用以下减法形式:4 (IV),9 (IX),40 (XL),90 (XC),400 (CD) 和 900 (CM)。即0-3为当前数字位的罗马数字乘以对应大小,4为对应数字位加中位,5为对应中位,6-8为中位加对应数字位乘以对应数值减去数值5,9为对应数字位加对应下一位数字位。9 = IX 由于 10 (X) 减 1 (I)

2024-07-09 22:14:49 684 1

原创 leetcode 135.分发糖果

解释:你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。解释:你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。第一次正向遍历满足糖果多的比左边大,第二次反向遍历满足糖果多的比右边大。第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目。这道题的思路就是要保证得分大的要比得分小的得到的糖果多。正向遍历如果右边数组比左边大,即前置数目+1,否则置1。反向同,如果左边数组比右边大,则前置数目+1,否则置1。

2024-07-08 19:59:01 557

原创 leetcode 45. 跳跃游戏 II「贪心」

从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。当走到当前跳跃点的最远距离,根据临时保存的tmpi,更新跳跃位置i,即该跳跃区间可跳跃的最远跳远点。这道题的难点就是如何找到我们当前可跳跃位置中的可跳跃最远距离,然后统计跳跃步数。i是当前跳跃位置,i每次更新说明进行了一次跳跃。tmpi是用来保存跳跃区间可跳跃的最远距离点。向前跳转的最大长度。3.找到最远跳跃点,进行跳跃,更新跳跃点。2.然后统计该跳跃区间可跳跃的最远位置。1.首先确定我们当前跳跃点的跳跃区间。

2024-07-07 22:59:56 356

原创 122. 买卖股票的最佳时机 II

3.如果下一位数组值小于tmp,说明股票下跌,当前的临时最大利润为最大收益,更新利润收入,并把数组值赋给minprice,同时tmp记为-1,重新进入买卖阶段。解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。输入:prices = [7,1,5,3,6,4]

2024-07-05 14:26:34 789

原创 Leetcode 80.删除有序数组中的重复项 2

解释:函数应返回新长度 length = 7, 并且原数组的前七个元素被修改为 0, 0, 1, 1, 2, 3, 3。解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。输入:nums = [0,0,1,1,1,1,2,3,3]输出:7, nums = [0,0,1,1,2,3,3]输出:5, nums = [1,1,2,2,3]输入:nums = [1,1,1,2,2,3]双指针其中i用来更新新数组,j用来遍历原数组。

2024-07-04 20:55:01 177

空空如也

空空如也

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

TA关注的人

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