自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode 151. 反转字符串中的单词

中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。如果字符串在你使用的编程语言中是一种可变数据类型,请尝试使用。反转后的字符串中不能存在前导空格和尾随空格。中使用至少一个空格将字符串中的。之间用单个空格连接的结果字符串。是由非空格字符组成的字符串。

2024-07-22 21:24:55 168

原创 LeetCode 14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串。输入不存在公共前缀。

2024-07-22 18:08:56 106

原创 LeetCode 58. 最后一个单词的长度

由若干单词组成,单词前后用一些空格字符隔开。是指仅由字母组成、不包含任何空格字符的最大子字符串。最后一个单词是长度为 6 的“joyboy”。最后一个单词是“World”,长度为 5。最后一个单词是“moon”,长度为 4。法二:从后往前遍历,效率更高。

2024-07-22 18:01:42 110

原创 LeetCode 12 整数转罗马数字

罗马数字是通过添加从最高到最低的小数位值的转换而形成的。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-07-19 15:25:37 451

原创 LeetCode 13. 罗马数字转整数

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

2024-07-19 11:52:55 1474

原创 LeetCode 135. 分发糖果

n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。1请你给每个孩子分发糖果,计算并返回需要准备的。5你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。4你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。

2024-07-15 19:21:33 288

原创 LeetCode 134. 加油站

在一条环路上有n个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组gas和cost,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回-1。如果存在解,则它是的。3从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。此时油箱有 = 0 + 4 = 4 升汽油。

2024-07-15 16:27:31 231

原创 LeetCode 45. 跳跃游戏 II

给定一个长度为n的整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意i + j < n返回到达的最小跳跃次数。生成的测试用例可以到达。2跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1步,然后跳3步到达数组的最后一个位置。2nums[n-1]

2024-07-14 17:07:50 258

原创 LeetCode 55. 跳跃游戏

如果中途遇到第一个值小于1的点(n - i ),此处的值nums[n - i] = 0,那么就考虑nums[n - i - 1]的值是否大于等于2,如果是,那就可以由(n - i - 1)处跳两步到达(n - i + 1),那就相当于能到终点,那题目就变成考虑是否能到(n - i - 2)处了。假如数组长度为n,如果nums[n - 2] >= 1,那么就表示只要前面能到达(n - 2)处,就一定可以从(n - 2)处走一步到终点(n - 1)处;判断你是否能够到达最后一个下标,如果可以,返回。

2024-07-12 20:37:46 284

原创 LeetCode 121和122. 买卖股票的最佳时机

121.给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。5在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。0。

2024-07-12 19:38:32 1497

原创 leetcode 80. 删除有序数组中的重复项 II

给你一个有序数组nums,请你删除重复出现的元素,使得出现次数超过两次的元素,返回删除后数组的新长度。不要使用额外的数组空间,你必须在并在使用 O(1) 额外空间的条件下完成。为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下://是以“引用”方式传递的。也就是说,不对实参做任何拷贝// 在函数里修改输入数组对于调用者是可见的。// 根据你的函数返回的长度, 它会打印出数组中的所有元素。

2024-07-11 15:00:17 1586

原创 leetcode 26. 删除有序数组中的重复项

右指针right加1,直到遍历到与当前left指针数不相等的时候,此时nums[left+1]到nums[right-1]都是与nums[left]相等的值,那么下一步就是把nums[left+1]更新为。nums[left] = nums[right],此时left左边的值是都不相等的,然后右指针right加1,继续遍历后一个值。定义两个变量left和right,分别置为0和1,left永远小于等于right的值,因为至少有0个重复值,那么。,返回删除后数组的新长度。nums[left]的值。

2024-07-10 18:01:46 290

原创 leetcode刷题:2970. 统计移除递增子数组的数目

随着 r 递减, l 不可能递增,因为在上一步考虑l时,取的值已经是最大的l了,l再加1时,nums[l+1]

2024-07-10 15:46:38 710

空空如也

空空如也

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

TA关注的人

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