LeetCode
leetcode
MaolinYe(叶茂林)
事情没有想象中的那么复杂,也没有想象中的那么简单
展开
-
【LeetCode】使括号有效的最少添加
括号离不开栈,栈可以消除有效的括号,先用栈将左括号装起来,遇到右括号并且栈非空就弹栈,如果遇到右括号栈空就计数,说明需要插入左括号,完事之后栈里面的元素就都是左括号,都计数,因为都需要加上右括号。对于一个只有()组合的括号字符串,如果想要这个字符串是有效的括号对,找出最少需要插入多少个括号。原创 2024-06-04 16:07:43 · 366 阅读 · 0 评论 -
【LeetCode】【0-1背包】目标和
又因为x+y=sum,两式相加,可以求得x=(target+sum)/2,即题目变成能不能在元素里面找到一个组合的和为x,即0-1背包问题,基本同。要在数组中通过加减元素得到目标和,记加的元素和为x,减的元素和为y,即x-y=target。注意如果target+sum不是偶数或者target的绝对值大于sum都是没有的。dp[i]变成存在子集和为i的个数。原创 2024-04-17 23:24:03 · 367 阅读 · 0 评论 -
【leetcode】大数相加
计算两个大数的和,从末尾开始逐个字符相加,记录进位。原创 2024-04-09 23:46:24 · 700 阅读 · 0 评论 -
【leetcode】可被三整除的最大和
对于一个和来说,它和三整除就只有三个结果,0,1,2,可以在遍历数组中记录和模3三种结果的最大值。题目的意思是要找数组元素的最大和,这个和必须能被三整除。原创 2024-04-09 21:30:08 · 272 阅读 · 0 评论 -
【leetcode】用队列实现栈
用两个队列可以实现栈,只需要在在元素入栈的时候,让新来的元素始终放在队首即可,可以先用一个空队列装这个元素,然后将另一个队列装的元素在搬到这个队列,下一次元素入栈的时候又用这个空的队列装新元素,把另一个队列装的元素搬过来,这样新来的元素始终会在队首。如此说来,其实一个队列也可以实现,新来的元素先放队尾,然后把前面的元素都从队首pop出来从队尾push进去,这样也可以让新来的元素始终在队首。原创 2024-04-09 19:29:23 · 357 阅读 · 0 评论 -
【leetcode】用栈实现队列
栈虽是先进后出,用一个栈可以将序列倒序,那么再用一个栈就可以正序了。先用一个栈存储进来的,要输出的时候再用一个栈装一下。原创 2024-04-09 19:12:59 · 312 阅读 · 0 评论 -
有效的括号 力扣 栈应用
栈的简单应用原创 2022-08-16 11:38:01 · 181 阅读 · 0 评论 -
所有子集 剑指 Offer II 079
子集,终于把子集搞懂了原创 2022-08-16 09:43:55 · 201 阅读 · 0 评论 -
电话号码的字母组合 C++ 回溯递归
回溯递归原创 2022-08-12 11:34:59 · 498 阅读 · 0 评论 -
杨辉三角 C++
vectorNB原创 2022-08-11 17:28:22 · 285 阅读 · 0 评论 -
删除有序数组中的重复项 C++
我直接……原创 2022-08-11 17:07:41 · 345 阅读 · 0 评论 -
只出现一次的数字 III C++
打打打原创 2022-08-16 23:00:00 · 105 阅读 · 0 评论 -
只出现一次的数字 II C++
我爱C++原创 2022-08-13 12:31:01 · 256 阅读 · 0 评论 -
哈希表应用:只出现一次的数字
哈希表^O^原创 2022-08-10 09:41:47 · 172 阅读 · 0 评论 -
只出现一次的数字 LeetCode C++
我……,居然支持切片!!!原创 2022-08-09 18:19:50 · 345 阅读 · 1 评论 -
最长公共前缀 C++
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串。最长公共前缀首先是公共的,这意味大家都有,那么我们可以先拿一个字符串出来,然后从头比较到尾,具体就是这样:习惯拿第一个来操作,让第一个字符串和后面的字符串比较,一个字符一个字符地比较,碰到不相同的说明大家相同的字符已经没了,立马结束,如果都相同,那么说明最长的公共就是自己。......原创 2022-06-23 17:28:41 · 198 阅读 · 0 评论 -
【LeetCode】螺旋矩阵 II
以人的视角去看,就是从外圈到内圈填数,从1填到n*n。其实就是a[i][j]=num++;然后难度就是怎么确定i和j的变化。原创 2022-04-17 11:40:31 · 978 阅读 · 2 评论