- 博客(160)
- 收藏
- 关注
原创 【leetcode周赛总结】
本次周赛主要关注图论的一些问题,对于bfs,dfs的灵活运用,找图中的最大环长度的经典题目一定要掌握;第二题贪心没想到确实是值得注意的
2022-08-02 16:03:29
569
原创 【leetcode周赛总结】LeetCode第 83场双周赛(7.23)
第二题:子数组一定要想以x结尾的数量这个角度去考虑问题;第三题选择合适的数据结构,以及一个操作到达会影响几个数据结构。
2022-07-25 10:09:04
356
原创 【leetcode周赛总结】LeetCode第291场周赛总结(5.1)
LeetCode第291场周赛总结(5.1)1、枚举 2 、map+遍历 3、暴力+set 4、dp
2022-05-01 17:07:11
560
原创 【算法练习】图/dfs/抖音红人
图,关注列表,{{0,1},{0,2},{1,2}}代表0关注1,0关注2,1关注2,关注具有传递性,求关注数大于N的人。
2022-03-10 15:15:53
334
原创 【算法练习】重点总结系列 LRU
LRU :Least Recently Used 最近最少使用 表示按照使用的时序排列优先级,淘汰最近最少使用的项目,
2022-01-13 12:25:55
157
原创 【算法练习】c++ reverse 541. 反转字符串 II
值得注意的是,c++语法掌握的不够好,reverse 使用STL的时候注意参数逆序(反转)无论是在C或是C++中用的都特别多,常用于数组,字符串,容器等,其本身的函数参数也不复杂。标准C中是没有reverse()函数的,这是C++的一个新增函数,使用需要包含头文件#include <algorithm> reverse函数用于反转在[first,last)范围内的顺序(包括first指向的元素,不包括last指向的元素),reverse函数没有返回值te...
2021-08-20 11:18:05
234
原创 【算法练习】动态规划 lc1269. 停在原地的方案数
1269. 停在原地的方案数思路定义dp[i][j] 是走了i步停在j处的方案数优化1一个重要的优化 是lenmax=min(steps/2+1,arrLen);要想回到0的话j的范围实际上是 取 上述的表达式的 由于arrlen的数量级>>steps 所以可以得到优化优化2//空间优化保留两行class Solution {public:int mod=1e9+7;int numWays(int steps, int arrLen)...
2021-05-13 15:25:21
206
原创 【算法练习】403. 青蛙过河 动态规划 dfs没看
403. 青蛙过河方法一用一个 模拟的方法?class Solution {public: bool canCross(vector<int>& stones) { int n=stones.size(); map<int,set<int>> mp; //初始化所有的好台阶 set<int> empty; for(int i=1;i<n;i++){ mp[stones.
2021-04-29 16:12:15
235
原创 【算法练习】二分搜索的妙用 lc1011D天送达包裹的能力
题目1011. 在 D 天内送达包裹的能力思路首先理解题目的意思:按照数组的顺序分组,分成D个组,每组的和的最小值,这样的想法是求分组每组和的最小值的,但是其实这样的思路并不能很好的求解。此类题目还可以采用这样的思路 通常我们会去联合「答案」去想解法 (from 三叶姐)参考了题解,这个题目竟然可以用二分搜索,怎么搜索呢? 可以直接从题目所给的范围搜索我觉得也可以理解为暴力的优化,1 <= D <= weights.length <= 5 * 10...
2021-04-28 10:50:56
251
原创 【算法练习】终于理解kmp算法 /有限状态自动机
参考链接 :【宫水三叶】简单题学 KMP 算法算法第四版 P499动态规划之 KMP 算法详解重点的我的理解是匹配串pat串 例如 pat=“ABABC"那么如果匹配到状态4的时候,匹配失败,匹配到的不是4 那么此时4的影子状态是2why?找影子状态的过程就是在pat中匹配pat[1:]的过程,此时pat[1:]="BAB" 那么只能匹配到AB 所以正好可以匹配到和后缀一样的前缀状态n也可以表示匹配到了n个字符;根据匹配串来计算重启状态X ;如2...
2021-04-21 10:51:35
347
原创 【算法练习】二分搜索/旋转数组系列题目
题目33. 搜索旋转排序数组81. 搜索旋转排序数组 II153. 寻找旋转排序数组中的最小值34. 在排序数组中查找元素的第一个和最后一个位置思路参考题解 主要参考的三叶姐的题解以及其他几个题解的延伸https://leetcode-cn.com/problems/search-in-rotated-sorted-array-ii/solution/gong-shui-san-xie-xiang-jie-wei-he-yuan-xtam4/二分搜索练习参考http.
2021-04-08 17:00:51
152
原创 【算法练习】二分搜索/搜索二维矩阵
题目74. 搜索二维矩阵思路方法一 全局二分搜索这个方法是我能想到的第一个方法,就是把整个二维矩阵拍平成一维,然后直接二分即可,时间复杂度是思路虽然正确 可是我都没有想过,既然我为了拍平把数组都遍历了一遍,时间复杂度O(m*n)已经很高了,我为啥还要费劲去二分呢?思路有可取之处,但不足之处明显,所以拍平的时候可以直接改进,直接不用这样,可以推算出一维数组和二维矩阵(m,n)之间index的关系 i ------>matri...
2021-03-30 19:54:02
311
原创 【算法练习】快慢指针/旋转链表
题目剑指 Offer 22. 链表中倒数第k个节点class Solution {public: ListNode* getKthFromEnd(ListNode* head, int k) { if(head==nullptr){ return head; } ListNode* slow=head; ListNode* fast=head; for(int i=1;i<...
2021-03-27 15:28:46
117
原创 【算法练习】单调栈 /132模式
https://leetcode-cn.com/problems/132-pattern/solution/zhan-jie-fa-chao-xiang-xi-ti-jie-by-siyy/725660方法一 前缀最小维护单调栈先比较13 再比较12 再比较 23class Solution {public: bool find132pattern(vector<int>& nums) { stack<int> stk; //维护单...
2021-03-24 11:11:35
154
原创 【算法练习】递归/扁平化嵌套列表
前言今天是@LetItbeSun 坚持每日两题的第25天。题目341. 扁平化嵌套列表迭代器思路这个题目对于我来说困惑的点是,为什么自定义类型也可以直接用迭代器vector<NestedInteger> nestedList;//遍历这个自定义类型的list 方法一for (vector<NestedInteger>::iterator it=nestedList.begin();it!=nestedList.end();it++){ /..
2021-03-23 10:42:20
125
原创 【算法练习】模拟买卖匹配
刷题今天的刷题真实的气死了,因为选择数据结构的问题,一开始选择了multiset,不知道为什么里面插入的元素怎么不能更改;后来参考别人的题解选择了map;其实我应该选择的是大顶堆和小顶堆,但是今天已经不想做这道题了,令人痛苦。5710. 积压订单中的订单总数代码class Solution {public:map<int,long long> sell; //price amountmap<int,long long> buy;int getN.
2021-03-21 17:56:24
210
1
原创 【算法练习】lc股票问题121/122/123
前言大家好,今天是@LetItbeSun 坚持每日两题的第23天。题目188. 买卖股票的最佳时机 IV难度困难468给定一个整数数组prices,它的第i个元素prices[i]是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成k笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入:k = 2, prices = [2,4,1]输出:2解释:在第 1 天 (股...
2021-03-19 17:29:26
257
原创 【算法练习】206/92 反转链表 Ⅰ/Ⅱ
前言前言大家好,今天是@LetItbeSun 坚持每日两题的第22天.题目92. 反转链表 II难度中等796给你单链表的头指针head和两个整数left和right,其中left <= right。请你反转从位置left到位置right的链表节点,返回反转后的链表。示例 1:输入:head = [1,2,3,4,5], left = 2, right = 4输出:[1,4,3,2,5]示例 2:输入:head = [5...
2021-03-18 19:31:12
180
原创 【算法练习】动态规划 115不同的子序列
前言大家好,今天是@LetItbeSun 坚持每日两题的第21天。天啊我真的绝了,今天必须感叹一下,第一次这么快地完全独立地自己秒杀动态规划!!我爱我自己!!我太快乐了10分钟不到秒杀一道困难题!!555555我爱自己 坚持练习是会有进步的!得瑟一下~题目115. 不同的子序列难度困难362给定一个字符串s和一个字符串t,计算在s的子序列中t出现的个数。字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符...
2021-03-17 10:52:25
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人