自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣---48. 旋转图像

核心思想就是将二维数组先上下对调然后再根据对角线进行对调,最后就得到了按照顺时针旋转的二维数组。旋转图像,这意味着你需要直接修改输入的二维矩阵。请你将图像顺时针旋转 90 度。使用另一个矩阵来旋转图像。

2024-08-19 10:47:34 307

原创 力扣---46.全排列

给定一个不含重复数字的数组。

2024-07-16 11:12:07 245

原创 力扣---42.接雨水

采用动态规划处理这道题。先分别用数组left 和 right 保存 i 的左端最高和右端最高,然后最后通过left 和 right中的最小值与height[i]相减就能得到该位置能够存储的水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。个非负整数表示每个宽度为。

2024-07-14 16:48:10 240

原创 力扣---41. 缺失的第一个正数

这个算法的时间复杂度是 O(n),因为每个元素最多交换一次。而且使用的是原地交换,所以额外空间复杂度是 O(1)。通过这个过程,我们可以有效地找到缺失的最小正整数。

2024-07-10 16:39:03 366

原创 力扣---2970. 统计移除递增子数组的数目 I

10 个移除递增子数组分别为:[1], [2], [3], [4], [1,2], [2,3], [3,4], [1,2,3], [2,3,4] 和 [1,2,3,4]。3 个移除递增子数组分别为:[8,7,6], [7,6,6] 和 [8,7,6,6]。注意 [8,7] 不是移除递增子数组因为移除 [8,7] 后 nums 变为 [6,6] ,它不是严格递增的。个移除递增子数组分别为:[5], [6], [5,7], [6,5], [5,7,8], [6,5,7] 和 [6,5,7,8]。

2024-07-10 16:03:27 272

原创 力扣---40. 组合总和 II

给定一个候选人编号的集合candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用。解集不能包含重复的组合。[1,1,6],[1,2,5],[1,7],[2,6][1,2,2],[5]这行代码目的就是排除在该循环中已经使用过的数值。

2024-07-09 17:02:28 282

原创 力扣---39. 组合总和

2 和 3 可以形成一组候选,2 + 2 + 3 = 7。注意 2 可以使用多次。如果至少一个数字的被选数量不同,则两种组合是不同的。7 也是一个候选, 7 = 7。,并以列表形式返回。中可以使数字和为目标数。对于给定的输入,保证和为。

2024-07-09 16:14:43 148

原创 力扣---36. 有效的数独

请你判断一个9 x 9的数独是否有效。只需要,验证已经填入的数字是否有效即可。1-91-91-93x3'.'board =trueboard =false除了第一行的第一个数字从改为以外,空格内其他数字均与 示例1 相同。但由于位于左上角的 3x3 宫内有两个 8 存在, 因此这个数独是无效的。1-9。

2024-07-05 11:17:48 1166

原创 力扣---35. 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。第二个是C++中std标准库,返回第一个不小于target的位置。请必须使用时间复杂度为。

2024-07-05 10:43:08 211

原创 力扣---28. 找出字符串中第一个匹配项的下标

"leeto" 没有在 "leetcode" 中出现,所以返回 -1。字符串的第一个匹配项的下标(下标从 0 开始)。第一个匹配项的下标是 0 ,所以返回 0。"sad" 在下标 0 和 6 处匹配。

2024-07-05 10:41:26 219

原创 力扣---31. 下一个排列

就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的。就是将其所有成员以序列或线性顺序排列。修改,只允许使用额外常数空间。

2024-07-05 10:41:09 223

原创 力扣---34. 在排序数组中查找元素的第一个和最后一个位置

请你找出给定目标值在数组中的开始位置和结束位置。给你一个按照非递减顺序排列的整数数组。你必须设计并实现时间复杂度为。如果数组中不存在目标值。

2024-07-04 21:12:48 343

原创 力扣---29. 两数相除

位移操作在计算机中非常高效,常用于处理二进制数。通过位移操作,我们可以快速地进行乘法和除法运算。在这个除法实现中,位移操作的主要作用是找到最大的倍数,使得被除数减去这个倍数后的余数依然大于等于除数。7/-3 = -2.33333.. ,向零截断后得到 -2。10/3 = 3.33333.. ,向零截断后得到 3。这段代码应能满足题目的要求,正确地进行整数除法。整数除法应该向零截断,也就是截去(有符号整数,其数值范围是。乘法、除法和取余运算。假设我们的环境只能存储。给你两个整数,被除数。

2024-07-01 16:55:31 452

原创 力扣---26. 删除有序数组中的重复项

/ 长度正确的期望答案。不需要考虑数组中超出新长度后面的元素。函数应该返回新的长度 5 ,并且原数组。如果所有断言都通过,那么您的题解将被。不需要考虑数组中超出新长度后面的元素。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。的前五个元素被修改为 0,函数应该返回新的长度 2。

2024-06-28 10:46:19 448

原创 力扣---25. K 个一组翻转链表

这里使用head->next是因为翻转函数最后将原head指向了最后一个节点,它的next是空(nullptr)是一个正整数,它的值小于或等于链表的长度。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。的整数倍,那么请将最后剩余的节点保持原有顺序。个节点一组进行翻转,请你返回修改后的链表。额外内存空间的算法解决此问题吗?

2024-06-27 21:08:48 196

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

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

2024-06-27 10:29:41 144

原创 力扣---23. 合并 K 个升序链表

要定义自定义的比较规则,可以创建一个结构体或类,并重载operator()运算符。// 小顶堆:最小元素有最高优先级在这个自定义比较规则中,operator()被重载为一个布尔运算符,用于比较两个ListNode指针a和b。这里使用的是“小顶堆”的规则,即具有较小值的节点将被认为具有更高优先级(被认为“更大”),这样它们会排在队列的前面。

2024-06-26 10:28:02 416

原创 力扣---22. 括号生成

代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且。

2024-06-24 21:58:51 234

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

新链表是通过拼接给定的两个链表的所有节点组成的。将两个升序链表合并为一个新的。

2024-06-24 21:58:00 238

原创 力扣---20. 有效的括号

判断字符串是否有效。

2024-06-24 17:42:17 390

原创 力扣---19. 删除链表的倒数第 N 个结点

向前走n个点,然后使用第二个指针一起向下走,走到最后就能得到倒数第n个节点。给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。

2024-06-20 18:54:00 281

原创 力扣---17. 电话号码的字母组合

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。的字符串,返回所有它能表示的字母组合。

2024-06-18 15:18:43 236

原创 力扣---16. 最接近的三数之和

与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。中选出三个整数,使它们的和与。假定每组输入只存在恰好一个解。

2024-06-17 16:44:28 239

原创 力扣---15. 三数之和

给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。[]唯一可能的三元组和不为 0。[[0,0,0]]唯一可能的三元组和为 0。

2024-06-16 21:59:11 283

原创 力扣---10. 正则表达式匹配

因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 'a'。因此,字符串 "aa" 可被视为 'a' 重复了一次。".*" 表示可匹配零个或多个('*')任意字符('.')。"a" 无法匹配 "aa" 整个字符串。,请你来实现一个支持。的,而不是部分字符串。

2024-06-15 21:46:20 179

原创 力扣---14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串。时间复杂度较高,该日在优化。输入不存在公共前缀。

2024-06-14 11:21:58 216

原创 力扣---13. 罗马数字转整数

罗马数字包含以下七种字符:IVXLCD和M。例如, 罗马数字2写做II,即为两个并列的 1。12写做XII,即为XII。27写做XXVII, 即为XXVII。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做IIII,而是IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为IX。IVXXLCCDM给定一个罗马数字,将其转换成整数。

2024-06-14 10:40:52 1439

原创 力扣---12. 整数转罗马数字____以及一些对于auto的说明

罗马数字是通过添加从最高到最低的小数位值的转换而形成的。VIIVXIIXIVIXXLXCCDCMIXCMVLD给定一个整数,将其转换为罗马数字。num = 37493000 = MMM 由于 1000 (M) + 1000 (M) + 1000 (M)700 = DCC 由于 500 (D) + 100 (C) + 100 (C)40 = XL 由于 50 (L) 减 10 (X)9 = IX 由于 10 (X) 减 1 (I)注意:49 不是 50 (L) 减 1 (I) 因为转换是基于小数位。

2024-06-13 21:52:36 1371

原创 力扣---11.盛最多水的容器

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。它避免了隐式转换可能带来的潜在错误,并且能清楚地表明程序员的意图。但是会导致提交时时间超时,这也是意料之中的事。之后就考虑怎么解决该问题(及双指针)解释一下这里的static_cast<int>(max),其实就是类型转换、是一种显式类型转换,它在编译时进行类型检查。与其他类型转换方式相比,轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。找出其中的两条线,使得它们与。

2024-06-12 10:23:42 215 1

原创 pta快速幂

本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式。

2023-02-27 00:00:49 252 1

空空如也

空空如也

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

TA关注的人

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