自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣刷题0727

链接。

2023-07-27 11:29:34 180

原创 力扣刷题0726

给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素。你可以按 任意顺序 返回答案。给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。你可以 按任意顺序 返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。

2023-07-26 12:21:15 182

原创 力扣刷题0725

给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。给你一个整数数组 nums ,数组中的元素 互不相同。给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。

2023-07-25 10:33:32 133

原创 力扣刷题0724

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。注意:解集不能包含重复的组合。

2023-07-24 09:57:13 98

原创 力扣刷题0722

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。返回 所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。每个数字 最多使用一次。

2023-07-22 22:30:45 123

原创 力扣刷题0721

自己理解题目:结合视频讲解的回溯算法模板就能做出来,但是前面的二叉树太难了吧。给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。

2023-07-21 08:55:19 30

原创 力扣刷题0720

修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。所以结果应当返回修剪好的二叉搜索树的新的根节点。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节点键的节点。

2023-07-20 18:06:38 31

原创 力扣刷题0719

给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。首先找到需要删除的节点;

2023-07-19 10:47:24 31

原创 力扣刷题0718

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值。结点左子树中所含节点的值 小于等于 当前节点的值。结点右子树中所含节点的值 大于等于 当前节点的值。

2023-07-18 14:12:24 36

原创 力扣刷题0717补

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。你需要在 BST 中找到节点值等于 val 的节点。给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。给定二叉搜索树(BST)的根节点 root 和一个整数值 val。节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。返回合并后的二叉树。

2023-07-17 13:44:18 40

原创 力扣刷题0717

给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。自己理解题目:一开始以为是找最左边节点,不考虑最底层,报错,结果找最底层最左边节点。给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。叶子节点 是指没有子节点的节点。

2023-07-17 13:18:08 53

原创 力扣刷题0714

给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。自己理解题目:根据前序遍历+回溯方法得到 路径组合,然后拼接转换格式。一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。自己理解题目:左叶子之和是左节点,也是叶子节点。给定二叉树的根节点 root ,返回所有左叶子之和。反思总结:迭代法更好理解样,反倒递归法还不是很懂。给定一个二叉树,判断它是否是高度平衡的二叉树。自己理解题目:暴力求左右高度差,判断再返回。叶子节点 是指没有子节点的节点。

2023-07-14 11:26:10 32

原创 力扣刷题0713

完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数后者节点数(取决于高度从0开始还是从1开始)自己理解题目:遍历左子树,遍历右子树,分别记录层数,然后取最大值,想法是这样,但是写出来无法通过。二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始)说明:叶子节点是指没有子节点的节点。

2023-07-13 10:53:13 38

原创 力扣刷题0712

自己理解题目:利用左节点遍历,先统计共有多少层,再通过while cnt>0循环:先判断根节点是否为空(第一层),不为空再判断左右节点是否为空,不为空的都加入到列表中(第二层)。反思总结:思路很混乱,写代码时对循环内部的顺序不能合理安排,删除自己写的代码,根据优先队列的思路,写出正确代码,但递归思路还没完全明白思路。给你二叉树的根节点 root ,返回其节点值的 层序遍历。给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。自己理解题目:左右节点交换。自己理解题目:没有思路。

2023-07-12 10:51:35 55

原创 力扣刷题0711

总结迭代法前序遍历: class Solution : def preorderTraversal(self , root : TreeNode) - > List [ int ] : result = [ ] st = [ ] if root : st . append(root) while st : node = st . pop() if node!

2023-07-11 17:45:30 45

原创 力扣刷题0710

链接。

2023-07-10 18:32:06 115 1

原创 力扣刷题0708

自己理解题目:第一想法是定义一个函数,查找字符串中的相邻的相等字符,然后删除,返回自己调用自己的返回值,主函数中调用这个函数即可。自己理解题目:首先想着用两个列表分别添加左右括号,然后依次弹出,判断是否配对,写出代码但不能通过全部测试用例。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。反思总结:由于栈结构的特殊性,非常适合做对称匹配类的题目。

2023-07-08 11:46:25 130 1

原创 力扣刷题0707

反思总结:用两个队列实现栈思路如下:加入栈直接append,弹出栈则需要两个列表实现,一个加入列表和一个取出列表,加入之前先判断栈是否为空,不为空,再判断取出列表是否为空,不为空直接弹出,为空则将加入列表中的元素都append到取出列表中,再弹出元素即可。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔的(也就是说我们可以控制使用哪种容器来实现栈的功能)。

2023-07-07 10:46:40 184 1

原创 力扣刷题0706

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。反思总结:本题是KMP算法经典题目,KMP的经典思想就是:当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。对当前文本串和模式串的检索过程中,若出现了不匹配,如何充分利用已经匹配的部分。反思总结:KMP算法可以解决字符串匹配时多次重复比对问题,先记住模板再找规律吧。自己理解题目:直觉要用KMP,不知道怎么用。

2023-07-06 11:21:49 347 1

原创 力扣刷题0705

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。反思总结:数组,链表,字符串的常用方法:双指针法,前面的学了小白又忘了,必须复习啊。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。自己理解题目:首先想到的是reverse,其次是s[::-1],都是取巧的办法,然后看答案,说是可以用双指针,然后才恍然大悟。给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。编写一个函数,其作用是将输入的字符串反转过来。

2023-07-05 11:54:05 485

原创 力扣刷题0704

自己理解题目:按照之前利用字典字符串查找的题目思路,先统计magazine中的字符个数并存入字典,然后遍历ransomNote字符串是否在字典中,存在就减1,不存在就Flase,最后遍历字典,其值若有负数,说明这个字母的个数不够,返回Flase。给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。反思总结:自己对这种题型还是理解不深,尤其是剪枝部分。

2023-07-04 11:53:07 530

原创 力扣刷题0703

自己理解题目:两个数之和,用tmp做中间变量(和-数组元素),判断tmp是否在数组中,在的话满足题目要求加入结果列表,不在就跳过;自己理解题目:数组交集定义:交集内的元素都在两个数组内,且要求输出元素不重复,利用集合定义交集,分别遍历两个数组,判断每个元素是否在另一个数组中,在就加入集合,最后转为列表。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。反思总结:解法很多,暂未完全掌握,继续理解代码。

2023-07-03 21:29:45 547 1

原创 力扣刷题0701

自己理解题目:建一个虚节点,其下一个节点是头节点,遍历整个链表,计数变量计数到2时,交换pre和cur的值,并重新计数,遍历完后返回头节点,全部过程中只完成值的赋值,指针不变化。自己理解题目:相交的意思没搞明白,一看题解,相交就是遍历到该处时两个链表的指针相等,即curA==curB,属于题目理解不透的问题写不出来。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。反思总结:1、当输入头节点为[ ]时,如果return [ ] 会报错,自己理解的是因为返回的是链表,不能是列表。

2023-07-01 17:17:40 800

原创 力扣刷题0630

后面就采用链表+列表的形式实现,即只在列表中存入满足要求的节点值,然后将列表转换成链表,比较迂回了。给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点。,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。val 是当前节点的值,next 是指向下一个节点的指针/引用。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

2023-06-30 17:10:16 88

原创 力扣刷题0629

如果不存在符合条件的子数组,返回 0。给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix。自己题目理解:直接遍历平方再sort,或者利用快慢指针再排序(开始将i++和n–统一放在循环尾部,结果排出来一半数据。给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。---------暴力解法---------超出时间限制。--------滑动窗口--------

2023-06-29 12:01:18 151 1

原创 力扣刷题230628

给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,并返回移除后数组的新长度。元素的顺序可以改变。自己题目理解:直接暴力求解,设置一个中间数组tmp,当遍历数组nums时,如果当前元素不等于val,则将当前元素添加到tmp中。给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。******一开始,总是报错,结果发现返回的不是下标,而是target。

2023-06-28 16:01:31 1620 1

原创 apbtimer模块验证学习笔记

本文仅个人学习过程笔记,如有疏漏,望指正或补充。apbtimer模块是一个以APB协议通信的timer减计数器。其内部含有多个可配置寄存器(本项目中未使用到的寄存器不做解释):CTRL:控制寄存器。CTRL[0]:timer使能,CTRL[1]:外部输入作为使能端,CTRL[2]:外部输入作为clock端,CTRL[3]:timer中断使能。VALUE:timer减计数器的current value,写入时计数器值改变为写入值。

2023-04-16 00:45:16 1659 5

原创 apb_timer模块scoreboard组件完善过程记录

apbtimer模块是一个以APB协议通信的timer减计数器,验证环境搭建时,除了激励的产生组件和监测组件等,还创建了scoreboard(scb)计分板,其主要用于模拟DUT的设计行为以及功能检查。

2023-03-23 09:09:38 609 1

原创 AHB、APB学习笔记

只有当PSEL、PENABLE和PREADY都为高,且PSLVERR为低时,当前传输才是一次成功的传输。注:AHB-Lite :假设AHB上只有一个master,则不需要request,不需要grant,也不需要arbiter,slave会更加简单,不需要RETRY和SPLIT,只需要返回ERROR或者OKAY。最快的传输只需要2个时钟周期,第一个时钟周期为address阶段,即将地址、传输大小、传输方向等控制信息放置到总线上,第二个时钟周期为data阶段,HREADY拉高时将数据写入或者读出。

2023-03-22 16:28:16 1618 1

原创 常用SVA记录汇总----不间断更新

常用SVA断言构造汇总

2023-03-06 21:27:03 427

原创 MCDF验证学习笔记

MCDF验证学习笔记

2023-02-23 17:03:51 1257

原创 Makefile+VCS基础仿真笔记

Makefile+VCS基础仿真笔记

2023-02-16 13:04:21 997

原创 AHBRAM模块验证笔记

AHBRAM模块验证笔记

2023-02-13 12:28:26 3651 10

原创 Linux基础知识总结

Linux简单理论及操作基础总结

2023-02-03 23:41:08 112

空空如也

空空如也

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

TA关注的人

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