自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode42 接雨水

对right来说,rightMax一定准确,leftMax不一定准确,因为区间(left, right)的值还没有遍历,但是right的leftMax一定 >= left的leftMax,所以只要leftMax >= rightMax时,我们不关系right的leftMax是多少了,因为它肯定比rightMax大,我们可以直接计算出right的存水量rightMax - nums[right];使用动态规划的方法,可以在 O(n) 的时间内预处理得到每个位置两边的最大高度,然后两边对比。

2024-03-16 20:55:20 415 1

原创 leetcode22 括号生成

任何一个括号序列都一定是由 ‘(’\text{`('}‘(’ 开头,并且第一个 ‘(’\text{`('}‘(’ 一定有一个唯一与之对应的 ‘)’\text{`)'}‘)’。为了节省计算时间,我们在每次 generate(i)\textit{generate}(i)generate(i) 函数返回之前,把返回值存储起来,下次再调用 generate(i)\textit{generate}(i)generate(i) 时可以直接返回,不需要再递归计算。如果右括号数量小于左括号的数量,我们可以放一个右括号。

2024-03-14 23:44:57 1722 1

原创 leetcode66 加一

判断是否最后一位为九,如果是九,九变成零,倒数第二位加一,如果不是九最后一位加一。你可以假设除了整数 0 之外,这个整数不会以零开头。最高位数字存放在数组的首位, 数组中每个元素只存储。数组所表示的非负整数,在该数的基础上加一。输入数组表示数字 4321。输入数组表示数字 123。

2024-03-13 23:05:50 430

原创 leetcode11

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。但是很明显会超时,这种不是我们想要的答案。还是看看应有练习的算法。第一反应是暴力的每个水量都求一次,取最大值,另一个想法是像昨天一样的滑动窗口。其实我还是不太懂的,大致思想就是移动短的那个总不会更糟糕?轴共同构成的容器可以容纳最多的水。再多练习吧,作者去钻研了。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。

2024-03-12 19:21:32 389 1

原创 leetcode3 无重复字符的最长子串

给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc",所以其长度为 3。1因为无重复字符的最长子串是"b",所以其长度为 1。3因为无重复字符的最长子串是"wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke"是一个子序列,不是子串。

2024-03-11 21:33:45 433

原创 leetcode14 最长公共前缀

依次遍历字符串数组中的每个字符串,对于每个遍历到的字符串,更新最长公共前缀,当遍历完所有的字符串以后,即可得到字符串数组中的最长公共前缀。如果在尚未遍历完所有的字符串时,最长公共前缀已经是空串,则最长公共前缀一定是空串,因此不需要继续遍历剩下的字符串,直接返回空串即可。按序判断字符串是否相同,不相同结束。发现不止三个字符串,要不然试试读取第一个按顺序向下判断,然后以此类推。(陷入沉思)(总之就是一部分一部分对比)唉今天状态不好就先研学这一道吧,能看懂题解也是进步————如果不存在公共前缀,返回空字符串。

2024-03-10 21:01:45 394 1

原创 leetcode21 合并两个有序列表

新链表是通过拼接给定的两个链表的所有节点组成的。已知l1,l2都是按顺序排列,只需要遍历一次。哪个小就写谁,然后下移小的,一样大就同时写。虽然通过了,但是看到大佬们代码很简洁前来学习。将两个升序链表合并为一个新的。如果为空就把剩下的都写了。相比还是优雅很多www。

2024-03-09 15:18:05 385

原创 leetcode2 两数相加

看起来本鼠的实力不足以挑战链表,所以今天这题换成直接学习随机大神大神思路+listnode;你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。请你将两个数相加,并以相同形式返回一个表示和的链表。链表第几位代表的数字×10^n就可以把链表转换为整数。力扣第一题,梦开始的地方;第二题,梦结束的地方。在csdn找了一些大神笔记(懒了直接截图)的方式存储的,并且每个节点只能存储。好吧,事实证明...这个方法不行(点烟。我再找一道链表试试(不信邪。两个整数相加得到结果。

2024-03-09 14:09:49 1469

原创 leecode12 整数转罗马数字

(13比较简单来试试中等难度的12,顺便两题元素相似减少理解www)

2024-03-08 15:37:55 377 1

原创 leecode13 罗马数字转整数

如果用最蠢的方法...可以加之前判断是不是给定的六种情况,但是这样好像略微愚蠢。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。通常情况下,罗马数字中小的数字在大的数字的右边。每个字符都有对应的数字,只要看有几个字符乘上对应的数值加起来就可以叭。或者每看到一个字符,查看它对应的数字最后把所有的加起来就行(沉思。是我对java的语句了解不过+思路太直白,看懂了去刷下一道了。非常美丽的TAT,不过是不是题太简单可能都没有太大的区分ww。,即为两个并列的 1。

2024-03-08 14:47:44 1496 1

原创 leecode9 回文数

从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。思路还是似懂非懂,大致是排除特殊情况,在逆序其中一半比对QwQ,慢慢理解吧。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。虽然通过但是华丽丽的超过了百分之5%,来看看普通的最优解吧。将每个位数的数字储存在数组,如果正着和和倒过来都一样就行?从右向左读, 为 01。因此它不是一个回文数。你能不将整数转为字符串来解决这个问题吗?还是跟着标准答案学习一下,,,是一个回文整数,返回。

2024-03-07 14:45:54 390

原创 leecode1 两数之和

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]

2024-03-07 13:43:27 369

空空如也

空空如也

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

TA关注的人

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