自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 239. 滑动窗口最大值

的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。上面是暴力的做法 导致了超时 下面我们尝试一下别的做法。滑动窗口的位置 最大值。滑动窗口每次只向右移动一位。

2025-02-23 14:44:28 144

原创 150. 逆波兰表达式求值

返回一个表示表达式值的整数。

2025-02-23 11:36:34 171

原创 pop 的运用1047. 删除字符串中的所有相邻重复项

例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。在完成所有重复项删除操作后返回最终的字符串。上反复执行重复项删除操作,直到无法继续删除。会选择两个相邻且相同的字母,并删除它们。给出由小写字母组成的字符串。

2025-02-23 10:31:31 145

原创 541. 反转字符串 II

reversed 函数只能逆转列表 不能逆转字符串。,从字符串开头算起,每计数至。

2025-02-21 09:33:06 139

原创 24. 两两交换链表中的节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

2025-02-20 16:13:05 113

原创 707. 设计链表

以指示链表中的上一个节点。假设链表中的所有节点下标从。你可以选择使用单链表或者双链表,设计并实现自己的链表。是指向下一个节点的指针/引用。如果是双向链表,则还需要属性。

2025-02-20 09:35:50 1477

原创 203. 移除链表元素

请你删除链表中所有满足。给你一个链表的头节点。

2025-02-19 11:14:27 114

原创 59. 螺旋矩阵 II

所有元素,且元素按顺时针顺序螺旋排列的。

2025-02-19 10:50:04 363

原创 209. 长度最小的子数组

这个题目之前做过是用c语言写的 但是我这里用python来写 写的不是很好 感觉自己这里写的还是有问题。如果不存在符合条件的子数组,返回。是该条件下的长度最小的子数组。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。

2025-02-18 19:49:49 171

原创 977. 有序数组的平方

平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]组成的新数组,要求也按。

2025-02-18 14:53:46 170

原创 27. 移除元素

元素的顺序可能发生改变。

2025-02-17 15:00:40 230

原创 704. 二分查找

如果目标值存在返回下标,否则返回。个元素有序的(升序)整型数组。

2025-02-17 13:54:20 136

原创 349. 两个数组的交集

输出结果中的每个元素一定是。自己写的终于通过了 太有成就感了。

2025-02-16 10:56:50 112

原创 242. 有效的字母异位词

编写一个函数来判断。

2025-02-16 09:39:57 193

原创 435. 无重叠区间

你需要移除两个 [1,2] 来使剩下的区间没有重叠。需要移除区间的最小数量,使剩余区间互不重叠。移除 [1,3] 后,剩下的区间没有重叠。只在一点上接触的区间是。

2025-02-15 16:06:03 88

原创 452. 用最少数量的箭引爆气球

有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组。-在x = 11处发射箭,击破气球[10,16]和[7,12]。-在x = 6处射出箭,击破气球[2,8]和[1,6]。处射出一支箭,若有一个气球的直径的开始和结束坐标为。你不知道气球的确切 y 坐标。弓箭一旦被射出之后,可以无限地前进。一支弓箭可以沿着 x 轴从不同点。返回引爆所有气球所必须射出的。可以射出的弓箭的数量。

2025-02-15 11:16:59 153

原创 406. 根据身高重建队列

编号为 4 的人身高为 4 ,有 4 个身高更高或者相同的人排在他前面,即编号为 0、1、2、3 的人。因此 [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新构造后的队列。编号为 2 的人身高为 5 ,有 2 个身高更高或者相同的人排在他前面,即编号为 0 和 1 的人。编号为 3 的人身高为 6 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。编号为 5 的人身高为 7 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。

2025-02-14 18:53:51 343

原创 860. 柠檬水找零

你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付。如果你能给每位顾客正确找零,返回。顾客排队购买你的产品,(按账单。在柠檬水摊上,每一杯柠檬水的售价为。每位顾客只买一杯柠檬水,然后向你付。注意,一开始你手头没有任何零钱。支付的顺序)一次购买一杯。

2025-02-14 15:10:45 94

原创 135. 分发糖果

你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。请你给每个孩子分发糖果,计算并返回需要准备的。表示每个孩子的评分。

2025-02-14 13:24:28 167

原创 力扣 134. 加油站

从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回。开往 4 号加油站,此时油箱有 4 - 1 + 5 = 8 升汽油。开往 0 号加油站,此时油箱有 8 - 2 + 1 = 7 升汽油。开往 1 号加油站,此时油箱有 7 - 3 + 2 = 6 升汽油。开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油。因此,3 可为起始索引。

2025-02-13 16:57:38 216

原创 力扣 1005. K 次取反后最大化的数组和

选择下标 (1, 2, 2) ,nums 变为 [3,1,0,2]。选择下标 (1, 4) ,nums 变为 [2,3,-1,5,4]。选择下标 1 ,nums 变为 [4,-2,3]。以这种方式修改数组后,返回数组。可以多次选择同一个下标。

2025-02-13 15:06:38 381

原创 . 跳跃游戏 II 力扣 45

从下标为 0 跳到下标为 1 的位置,跳。向后跳转的最大长度。生成的测试用例可以到达。跳到最后一个位置的最小跳跃数是。步到达数组的最后一个位置。处,你可以跳转到任意。

2025-02-13 14:29:00 381

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

随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。在这种情况下, 交易无法获得正利润,所以不参与交易可以获得最大利润,最大利润为 0。

2025-02-12 13:08:39 162

原创 53. 最大子数组和

请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。连续子数组 [4,-1,2,1] 的和最大,为 6。是数组中的一个连续部分。

2025-02-12 10:34:37 58

原创 力扣 376. 摆动序列

第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为。

2025-02-12 09:30:28 166

原创 455. 分发饼干 力扣第一次使用贪心思路

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。虽然你有两块小饼干,由于他们的尺寸都是 1,你只能让胃口值是 1 的孩子满足。,这个孩子会得到满足。你的目标是满足尽可能多的孩子,并输出这个最大数值。你有三个孩子和两块小饼干,3 个孩子的胃口值分别是:1,2,3。你有两个孩子和三块小饼干,2 个孩子的胃口值分别是 1,2。,这是能让孩子们满足胃口的饼干的最小尺寸;你拥有的饼干数量和尺寸都足以让所有孩子满足。,我们可以将这个饼干。所以你应该输出 1。所以你应该输出 2。

2025-02-11 14:23:51 102

原创 47. 全排列 II 回溯剪枝条件特别要注意

给定一个可包含重复数字的序列。返回所有不重复的全排列。

2025-02-11 13:05:03 296

原创 力扣 46 回溯用 used来组合

选完第二个 再选第三个 再把符合长度的路径添加到 path中。'''这个题目就是选择数字填空 第一选完之后 选第二个分支。#这里我们得创建一个used数组来判断每次是否有用过的 把用过的 就不用。把最后的结果添加到 resoult中'''给定一个不含重复数字的数组。

2025-02-11 10:10:17 333

原创 力扣 90 利用used在树层去重

选完第二个 再选第三个 再把符合长度的路径添加到 path中。'''这个题目就是选择数字填空 第一选完之后 选第二个分支。#这里我们得创建一个used数组来判断每次是否有用过的 把用过的 就不用。把最后的结果添加到 resoult中''',其中可能包含重复元素,请你返回该数组所有可能的。返回的解集中,子集可以按。

2025-02-11 09:42:55 202

原创 复原ip 力扣 93 挺难

这里又是一个回溯算法 不断的选 选完一个答案就把他存到path中。if len(s)==start:#这里分到底了。return resoult 代码部分。path.pop()#这一部是回溯。,用以表示一个 IP 地址,返回所有可能的。正好由四个整数(每个整数位于。之间组成,且不能含有前导。给定一个只包含数字的字符串。,这些地址可以通过在。

2025-02-10 10:36:26 365

原创 【无标题】

if len(s)<=start:#这里是不断的剪 不断的分成字串 分到底就添加。#这里我们要做的就是分段 分成一个一个字串 直接用python函数来判断是否回文。path=[]#这个用来每次记录产生的结果。我们只要切片就行 把原字符串切片 然后用函数进行判断。resoult=[]#这个用来返回结果。分割成一些子串,使每个子串都是。所有可能的分割方案。

2025-02-09 12:20:59 153

原创 力扣39题

这里本质也是一个回溯算法 在设置回溯算法的时候把每次起始的位置传入 判断是否等于target 在开始 如果path的值大于 target就没有必要继续。2 和 3 可以形成一组候选,2 + 2 + 3 = 7。注意 2 可以使用多次。如果至少一个数字的被选数量不同,则两种组合是不同的。7 也是一个候选, 7 = 7。,并以列表形式返回。中可以使数字和为目标数。对于给定的输入,保证和为。

2025-02-01 11:48:36 255

原创 回溯算法2

end=10-(k-len(path))+1#注意这里力扣的题目要求是0到9之中取数。#剪枝的意思就是说把多余的没有的枝干给他减去 就减少了递归次数。#这又是一个典型的组合回溯法的题目通过 再进行配合剪枝法。该列表不能包含相同的组合两次,组合可以以任何顺序返回。所有可能的有效组合的列表。没有其他符合的组合了。

2025-01-26 15:10:46 232

原创 利用回数溯来排列

这里就是一个典型的回溯问题 传统的for循环不够。# 这里就是一个典型的回溯问题 传统的for循环不够。# path=[]#用一个来记录每次返回时的结果。# path=[]#用一个来记录每次返回时的结果。# 不写返回值类型就没有返回值。# 不写返回值类型就没有返回值。# 不写返回值类型就没有返回值。# 不写返回值类型就没有返回值。

2025-01-26 10:43:21 1276

原创 21. 合并两个有序链表

head = resoult#用一个head头指针指向创建的临时指针。新链表是通过拼接给定的两个链表的所有节点组成的。#用两个指针来指向 不断的移动。将两个升序链表合并为一个新的。

2025-01-22 16:17:51 241

原创 20. 有效的括号

这里本能的想到一个压栈的方式 然后弹出栈进行匹配 如果到最后没有栈空就返回false 题目是以字符串的方式 我们采用字符串数组来实现。#以上就是对基本的个数进行了判断 如果最基本的个数都不能满足就可以判断false 下面就是再进行对他是否中间成对中间出现进行判断。ch=[]#创建一个字符数组 来保存出现的括号类型数量。,判断字符串是否有效。

2025-01-22 14:33:51 232

原创 1. 两数之和

forj,xinenumerate(nums):#这里用了一个枚举函数来找在创建的hashmap表。iftarget-xinidx:#如果在idx找到target-x的差值。对于之前的题目方法用python进行补充用了hashmap来进行求和。idx={}#创建一个hashmap名字为idx。

2025-01-20 15:37:38 125

原创 . 爬楼梯

还有其他语言用类似hashmap来记录重复运算的数值就可以提高。第一种也是最常规的一种采用递归的方法这个会超时。你有多少种不同的方法可以爬到楼顶呢?有两种方法可以爬到楼顶。1.1阶+1阶。有三种方法可以爬到楼顶。第二种是O(n)复杂度。

2025-01-19 16:35:56 240

原创 1. 两数之和

/利用c语言库函数查找在创建的哈希表中是否有这个元素的差值。//先用暴力的方法来做 两层遍历 先确定第一数后面有没有相对应的值。//先利用一个临时变量来存储相减的差值 在hash表中找 有没有。//创建一个空的Hash表。//hash结构的需要。//哈希表的思想就是 创建一个表 把之前的数组的元素映射到。//如果没有 就把这个原数组的值和位置存入 hash中。}//下面就是没有在hash表中找到对应的元素。//把原数组值和位置存入hash中方便下次查找。//这里定义一个哈希表的结构。

2025-01-10 19:17:27 288

原创 滑动窗口经典题

ri++){//右指针移动 来求和 找出大于treget。//典型的滑动窗口算法 先从左往右加 作为一个集合来和target。int corr=0;//用于记录每次进行数组最小的。//目标进行对比 如果大了就左边不动。如果不存在符合条件的子数组,返回。是该条件下的长度最小的子数组。个正整数的数组和一个正整数。下面代码部分C语言参考。找出该数组中满足其和。

2025-01-09 18:40:03 251

空空如也

空空如也

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

TA关注的人

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