![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode笔记
文章平均质量分 61
无聊时刷题记录用
JayShaun
惟江上之清风。
展开
-
Leetcode_C++之200. Number of Islands(岛屿数量)
【代码】Leetcode_C++之200. Number of Islands(岛屿数量)原创 2022-12-19 22:30:00 · 459 阅读 · 1 评论 -
Leetcode_C++之678. Valid Parenthesis String(有效括号字符串)
3. 最佳方案:括号匹配:遇’(‘加一,遇’)'减一,注意处理负数情况。有星号’*‘,count是一个范围,用minCount记录最小count,maxCount记录最大count。2.采用记忆法,空间换时间。因为在计算子串是否是valid时存在重复计算,所以可以将子串是否valid的结果存放在二维数组中。1.存在一对括号的左边子串和右边子串即【(左边)右边】都是valid的,则整个字符串也valid,用递归实现。注意二维数组的动态内存分配和释放;注意分治思想的运用;原创 2022-12-19 21:27:46 · 458 阅读 · 0 评论 -
Leetcode_C++之238. Product of Array Except Self(除本身元素之外数组其他元素的积)
3、若额外数组的元素都会只用到一次,则可以用省去该额外数组。2、重复利用数组空间,避免额外数组,见注释。1、空间换时间,用数组代替一层for循环。1、问题拆解:左*右;原创 2022-11-30 16:14:30 · 443 阅读 · 0 评论 -
Leetcode_C++之525. Contiguous Array(连续子数组)
2、因为数组是稀疏的,好多用不到,所以可以用哈希表。1、一个数组即可,存放当前0的个数和1的个数的差。原创 2022-11-29 15:31:01 · 562 阅读 · 0 评论 -
Leetcode_C++笔记之1046. Last Stone Weight(最后一颗石头的权重)
Type 就是数据类型,Container 就是容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用 list。当需要用自定义的数据类型时才需要传入这三个参数,使用基本数据类型时,只需要传入数据类型,默。优先队列具有队列的所有特性,包括队列的基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的。1、按照题目依次找出两个最大值并将对应位置置零,然后这两个最大值相减,结果插入到数组中值是0的位置,最后如果第二个最大值是0,则返回第一个最大值。原创 2022-11-28 22:13:32 · 436 阅读 · 0 评论 -
Leetcode_C++笔记之543. Diameter of Binary Tree(二叉树的直径)
递归求二叉树深度(104. Maximum Depth of Binary Tree)原创 2022-11-23 11:51:50 · 148 阅读 · 0 评论 -
Leetcode_C++笔记之155. Min Stack(最小栈)
如果n小于当前的容器大小,则保留前面n个元素,移除后面的。value是初始值,如果n大于当前容器大小,则新增加的元素的值为value,若value省略,会自动调用一个默认值。当前分配给容器的存储空间大小(元素个数),这并不限制容器的扩展,理论限制容器扩展大小是max_size的值。获取最小值时,如果在获取时再遍历栈找到最小值是很慢的,所以在push和pop的时候保持最小值的动态更新。返回容器中的第一个元素。返回一个指向容器中数组的指针c.data()原创 2022-11-21 21:18:18 · 614 阅读 · 0 评论 -
Leetcode_C++笔记之844. Backspace String Compare(比较含退格的字符串)
【代码】844. Backspace String Compare。原创 2022-11-18 22:00:50 · 464 阅读 · 0 评论 -
Leetcode_C++笔记之876. Middle of the Linked List(链表的中间节点)
注意while循环的条件,fast->next也要非NULL才OK。快慢指针除了做循环检测,还可以做中点检测。原创 2022-11-18 11:12:34 · 216 阅读 · 0 评论 -
Leetcode_C++笔记之49. Group Anagrams(组类似)
defaultdict是Python内建字典类(dict)的一个子类,它重写了方法_missing_(key),增加了一个可写的实例变量default_factory,实例变量default_factory被missing()方法使用,如果该变量存在,则用以初始化构造器,如果没有,则为None。但在 Python 3.x 中,它们的返回值并不是我们常见的列表或者元组类型,因为 Python 3.x 不希望用户直接操作这几个方法的返回值。items() 用于返回字典中所有的键值对(key-value)。原创 2022-11-17 15:00:00 · 965 阅读 · 0 评论 -
Leetcode_C++笔记之122. Best Time to Buy and Sell Stock II(买卖股票的最佳时机II)
这个题之前做过的,但是忘记了。2、贪心算法求上升区间高度和。原创 2022-11-16 09:46:40 · 375 阅读 · 0 评论 -
Leetcode_C++笔记之283. Move Zeroes(移动零)
1、边遍历数组边移动非零值,移动步数由记录的遇到过的0的个数而决定。2、和1类似,但更是双指针。原创 2022-11-15 15:23:44 · 195 阅读 · 0 评论 -
Leetcode_C++笔记之53. Maximum Subarray(最大子序列和)
Given an integer array nums, find the subarray(连续的) which has the largest sum and return its sum.原创 2022-11-15 10:27:11 · 159 阅读 · 0 评论 -
leetcode(c++) 旋转数组
旋转数组给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]示例 2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释:向右轮转 1 步: [99,-1,原创 2022-07-11 15:17:37 · 125 阅读 · 0 评论 -
leetcode(c++)-买卖股票的最佳时机 II
买卖股票的最佳时机 II给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。返回 你能获得的 最大 利润 。......原创 2022-06-29 10:39:43 · 452 阅读 · 0 评论 -
leetcode(c++) 删除排序数组中的重复项
删除排序数组中的重复项原创 2022-06-28 16:12:13 · 267 阅读 · 0 评论