自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 代码随想录算法训练营第44天 | 第十章 单调栈part02

Leetcode链接

2024-07-25 11:29:52 319

原创 代码随想录算法训练营第43天 | 第十章 单调栈part01

单调栈的本质是空间换时间,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素,优点是整个数组只需要遍历一次。更直白来说,就是用一个栈来记录我们遍历过的元素在使用单调栈的时候首先要明确如下几点:单调栈里存放的元素是什么?单调栈里只需要存放元素的下标i就可以了,如果需要使用对应的元素,直接T[i]就可以获取。单调栈里元素是递增呢? 还是递减呢?(从栈头到栈底)如果求一个元素右边第一个更大元素,单调栈就是递增的,如果求一个元素右边第一个更小元素,单调栈就是递减的。过程绘图表示Leetcode链

2024-07-24 17:05:53 310

原创 代码随想录算法训练营第42天 | 第九章 动态规划13

Leetcode链接

2024-07-24 15:34:45 356

原创 代码随想录算法训练营第40天 | 第九章 动态规划12

Leetcode链接

2024-07-23 22:43:20 318

原创 代码随想录算法训练营第39天 | 第九章 动态规划11

Leetcode链接

2024-07-22 21:20:16 202

原创 代码随想录算法训练营第37天 | 第九章 动态规划10

Leetcode链接

2024-07-22 20:48:06 312

原创 代码随想录算法训练营第36天 | 第九章 动态规划09

文章目录今日记录188.买卖股票的最佳时机IV309.最佳买卖股票时机含冷冻期714.买卖股票的最佳时机含手续费总结今日记录188.买卖股票的最佳时机IVclass Solution {public: int maxProfit(int k, vector<int>& prices) { vector<vector<int>> dp(prices.size(), vector<int>(2 * k + 1, 0));

2024-07-17 22:30:49 301

原创 代码随想录算法训练营第35天 | 第九章 动态规划08

要思考清楚dp数组的含义!!

2024-07-16 22:05:44 183

原创 代码随想录算法训练营第34天 | 第九章 动态规划07

leetcode链接213.打家劫舍ⅡLeetcode链接337.打家劫舍ⅢLeetcod链接

2024-07-15 22:02:41 213

原创 代码随想录算法训练营第33天 | 第九章 动态规划06

自己下来再琢磨琢磨两层循环顺序不同与 求组合数or排列数之间的关系。

2024-07-14 22:02:55 300

原创 代码随想录算法训练营第32天 | 第九章 动态规划05

518.零钱兑换ⅡLeetcode链接377.组合总和ⅣLeetcode链接爬楼梯ⅡKarma链接

2024-07-13 20:59:20 245

原创 代码随想录算法训练营第31天 | 第九章 动态规划04

Leetcode链接public:i++) {// 向下取整i++) {j--) {

2024-07-12 16:58:25 254

原创 代码随想录算法训练营第31天 | 第九章动态规划03

Karma链接背包问题0-1 Ⅱ416.分割等和子集Leetcode链接

2024-07-12 16:56:33 185

原创 代码随想录算法训练营第30天 | 第九章动态规划01

Leetcode链接70.爬楼梯Leetcode链接746.使用最小花费爬楼梯Leetcode链接

2024-07-09 21:24:05 182

原创 代码随想录算法训练营第31天 | 第九章动态规划02

Leetcode链接63.不同路径ⅡLeetcode链接

2024-07-09 21:22:29 265

原创 代码随想录算法训练营第30天 | 第八章 贪心算法05

Leetcode链接738.单调递增的数字Leetcode链接易错点:

2024-07-09 21:13:58 258

原创 代码随想录算法训练营第29天 | 第八章 贪心算法04

Leetcode链接435.无重叠区间Leetcode链接难点:排序是按照左边界值还是右边界值763.划分字母区间Leetcode链接这道题思路没想出来

2024-07-08 21:52:46 221

原创 代码随想录算法训练营第28天 | 第八章 贪心算法03

Leetcode链接135.分发糖果Leetcode链接860.柠檬水找零Leetcode链接406.根据身高重建队列Leetcode链接

2024-07-08 20:56:23 238 1

原创 代码随想录算法训练营第28天 | 第八章 贪心算法02

55.跳跃游戏易错点:for循环是 i<=cover,不是nums.size(),因为每次更新后的cover代表i最远能多大,例如[3,2,1,0,4] 中 cover一直等于3,而在3处也为3,不能再向后面移动了45.跳跃游戏Ⅱ1005.K次取反后最大化的数组和易错点:

2024-07-05 16:36:12 401

原创 代码随想录算法训练营第27天 | 第八章 贪心算法01

贪心算法一般分为如下四步:Leetcode链接主要思路就是从大到小遍历,优先使大的饼干(s[index])满足胃口大的学生(g[i])376.摆动序列Leetcode链接贪心的思路:实际操作上,其实连删除的操作都不用做,因为题目要求的是最长摆动子序列的长度,所以只需要统计数组的峰值数量就可以了(相当于是删除单一坡度上的节点,然后统计长度)这就是贪心所贪的地方,让峰值尽可能的保持峰值,然后删除单一坡度上的节点易错点:preDiff=curDiff 的更新代码的位置,对应的是情况如下:Leetco

2024-07-04 15:49:24 488

原创 代码随想录算法训练营第25天 | 第七章 回溯算法part04

Leetcode链接46.全排列Leetcode链接排列问题:[1,2] 和 [2,1]是两个集合——不需要index但是纵向的排列问题需要一个vector used数组来标记是否使用过这个元素47.全排列ⅡLeetcode链接

2024-07-03 14:17:42 229

原创 代码随想录算法训练营第24天 | 第七章 回溯算法part03

Leetcode链接78.子集Leetcode链接90.子集ⅡLeetcode链接判断方法:

2024-07-02 21:52:32 450

原创 代码随想录算法训练营第23天 | 第七章 回溯算法part02

Leetcode链接40.组合总和ⅡLeetcode链接难点:candidates里有重复元素,但是最后的集合不能重复将candidates进行排序(sort)后循环时判决 i>index && candidates[i] == candidates[i - 1]131.分割回文串Leetcode链接难点:

2024-07-01 14:46:48 411

原创 代码随想录算法训练营第22天 | 第七章 回溯算法part01

解决的问题:回溯法解决的问题都可以抽象为树形结构,是的,我指的是所有回溯法的问题都可以抽象为树形结构!因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的深度就构成了树的深度。递归就要有终止条件,所以必然是一棵高度有限的树(N叉树)。这块可能初学者还不太理解,后面的回溯算法解决的所有题目中,我都会强调这一点并画图举相应的例子,现在有一个印象就行。回溯终止条件树中就可以看出,一般来说搜到叶子节点了,也就找到了满足条件的一条答案,把这个答案存放起来,并结束本层递归。回

2024-07-01 11:12:55 772

原创 代码随想录算法训练营第21天 | 第六章 二叉树part08

Leetcode链接关键点在于root->val 如果在 [ low, high]以外时怎么正确的删除节点108.将有序数组转换为二叉搜索树Leetcode链接538. 把二叉搜索树转换为累加树Leetcode链接

2024-06-30 20:16:41 257

原创 代码随想录算法训练营第20天 | 第六章 二叉树part07

Leetcode链接701.二叉搜索树中的插入操作Leetcode链接450.删除二叉搜索树中的节点Leetcode链接动画参考:动画参考

2024-06-29 15:47:31 250

原创 代码随想录算法训练营第18天 | 第六章 二叉树part06

Leetcode链接处理代码:501.二叉搜索树中的众数Leetcode链接236.二叉树的最近公共祖先Leetcode链接

2024-06-27 21:04:52 347

原创 代码随想录算法训练营第17天 | 第六章 二叉树part05

Leetcode链接617.合并二叉树Leetcode链接700.二叉搜索树中的搜索Leetcode链接复习前文知识:98.验证二叉搜索树Leetcode链接主要思路:中序遍历二叉树后存入数组,再判断数组是否有序

2024-06-24 20:13:16 366

原创 代码随想录算法训练营第16天 | 第六章 二叉树part04

Leetcode链接112.路径总和Leetcode链接易错点:1.理解回溯;2.在代入时,targetSum实际上是:targetSum-root->val;(EX: [1],targetSum=1;)106.从中序与后序遍历序列构造二叉树Leetcode链接105.从前序与中序遍历序列构造二叉树Leetcode链接

2024-06-24 17:06:24 505

原创 代码随想录算法训练营第15天 | 第六章 二叉树part03

提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2024-06-20 12:45:51 249

原创 代码随想录算法训练营第14天 | 第六章 二叉树part02

Leetcode链接思路:使用递归法(以前序遍历交换左右节点)1.确定递归函数的参数和返回值;2.确定终止条件;3.确定单层递归的逻辑使用层序遍历的方式:101.对称二叉树Leetcode链接104.二叉树的最大深度Leetcode链接111.二叉树的最小深度Leetcode链接注意添加的判决条件,必不可少

2024-06-19 15:37:23 347

原创 代码随想录算法训练营第13天 | 第六章 二叉树part01

int val;

2024-06-18 20:40:42 721

原创 代码随想录算法训练营第12天 | 第五章 栈与队列part02

Leetcode链接239.滑动窗口最大值Leetcode链接使用队列,将窗口里的元素放入,随着窗口移动,队列加入新元素,前面的元素也出队。queue que;窗口移动,先que.pop()移除元素,que.push()加入新元素, que.front()347.前K个高频元素Leetcode链接就是一个披着队列外衣的堆,因为优先级队列对外接口只是从队头取元素,从队尾添加元素,再无其他取元素的方式,看起来就是一个队列。而且优先级队列内部元素是自动依照元素的权值排列。定义:这三个参数,后面两个

2024-06-17 17:07:00 1045

原创 代码随想录算法训练营第10天 | 第五章 栈与队列part01

提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2024-06-15 15:46:55 883

原创 代码随想录算法训练营第9天 | 第四章 字符串part02

前缀表是用来回退的,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配。前缀:包含首字母,不包含尾字母的所有字串后缀:包含尾字母,不包含首字母的所有字串(从后向前)最长相等前后缀(相同前后缀的长度):就是前缀表,next就是要回退到的地方构造next数组:初始化定义两个指针i和j,j指向前缀末尾位置,i指向后缀末尾位置。然后还要对next数组进行初始化赋值,如下:j 为什么要初始化为 -1呢,因为之前说过 前缀表要统一减一的操作仅仅是其中的一种实现,我们这里选择 j

2024-06-14 14:27:30 735

原创 代码随想录算法训练营第8天 | 第四章 字符串part01

直接调用本来就有的reverse函数时,是左闭右开的,处理单词的翻转时,注意最后位置的处理:因为reverse左闭右开,需要多取一位,使这一位前面的最后一个单词翻转public:// 定义快指针,慢指针// 去掉字符串前面的空格for (;// 去掉字符串中间部分的冗余空格continue;} else {

2024-06-13 22:24:57 575

原创 代码随想录算法训练营第8天 | 第三章 哈希表part02

Leetcode链接这道题目是四个独立的数组,只要找到A[i] + B[j] + C[k] + D[l] = 0就可以,不用考虑有重复的四个元素相加等于0的情况题目里有:计算多少个元组–需要统计次数–使用map(value放出现次数)383.赎金信Leetcode链接15.三数之和Leetcode链接此题类似于前面的四数相加Ⅱ,但是是在不同组数组包含的三个元素不能完全一样(EX:[-1,-1,0,0,1,1] 能取两组 [-1,0,1] 但是结果只要一组)使用双指针法难点记录:需要对数组进行

2024-06-12 16:47:40 899 2

原创 代码随想录算法训练营第5天 | 第三章 哈希表part01

Leetcode链接将字母a-z映射为数组count的下标 0-25;计算相对数值s[i]-‘a’,count[s[i]-‘a’] ++,这样就将字符串s中字符出现的次数统计出来了。349.两个数组的交集Leetcode链接202.快乐数Leetcode链接题目中说了会 无限循环,那么也就是说求和的过程中,sum会重复出现,这对解题很重要!所以这道题目使用哈希法,来判断这个sum是否重复出现,如果重复了就是return false, 否则一直找到sum为1为止。判断sum是否重复出现就可以使用u

2024-06-11 16:24:33 1083

原创 代码随想录算法训练营第4天 | 第二章 链表part02

Leetcode链接本题错误记录:只进行了交换的操作,没有先保存 ListNode* tmp1 = cur->next->next->next,使得新移动后的cur没有链接上。相当于cur->1->2->3…,只进行到cur->2->1,但是1后面没有链接上3。19. 删除链表的倒数第 N 个结点Leetcode链接难点:倒数第n个 —— 可以用fast和slow的步差来解决面试题 02.07. 链表相交Leetcode链接求两个链表交点节点的指针对齐操作:长度差是整数,可以先比较lenA和l

2024-06-08 14:12:05 846

原创 代码随想录算法训练营第3天 | 第二章 链表part01

/ 单链表int val;// 节点上存储的元素// 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的构造函数可以不定义构造函数,C++默认生成一个构造函数。//通过自己定义的构造函数初始化节点//默认构造函数所以如果不定义构造函数使用默认构造函数的话,在初始化的时候就不能直接给变量赋值!

2024-06-07 15:28:03 1087

fsm_seq111001.zip

学校的小测试,用的是Verilog HDL语言,要求用Quartus以及EDA知识中状态机的知识,完成序列检测器111001,一整个压缩包,有test bench 文件,可以直接改x的输入完成测试

2020-12-05

空空如也

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

TA关注的人

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