自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 aduino的<ArduinoJson.h>库序列化后,消息发送失败

【代码】aduino的<ArduinoJson.h>库序列化后,消息发送失败。

2024-02-04 21:56:11 241

原创 maven的artifactId冲突导致子模块无法被父模块检测到

​ maven子模块指定了自己的artifactId但和父模块不一样,导致父模块无法检测到子模块,因为此时二者不处于同一工程id下。​ 此处让子模块工程id改为和父模块一样,则子模块的可被父模块检测到。

2024-01-18 11:27:39 434

原创 动态规划_不同路径||

【代码】动态规划_不同路径||

2023-12-11 19:56:15 533

原创 数组_螺旋矩阵

【代码】数组_螺旋矩阵。

2023-12-11 10:23:02 388

原创 动态规划_最小花费爬楼

【代码】动态规划_最小花费爬楼。

2023-12-10 22:02:35 594

原创 树_有序数组转二叉搜索树

【代码】树_有序数组转二叉搜索树。

2023-12-06 09:15:45 354

原创 树_有序数组转二叉搜索树

【代码】树_有序数组转二叉搜索树。

2023-12-06 09:14:16 302

原创 树_二叉搜索树的众树

【代码】树_二叉搜索树的众树。

2023-12-06 09:13:06 584

原创 树_二叉搜索树小绝对差

【代码】树_二叉搜索树小绝对差。

2023-12-06 09:11:53 384

原创 树_二叉搜索树累加求和

【代码】树_二叉搜索树累加求和。

2023-12-05 20:15:48 394

原创 树_二叉搜索树寻找目标值

【代码】树_二叉搜索树寻找目标值。

2023-12-05 19:33:15 375

原创 树_路径总和

【代码】树_路径总和。

2023-12-04 10:27:43 368

原创 树_左叶子之和

【代码】树_左叶子之和。

2023-12-04 10:26:26 409

原创 树_二叉树所有路劲

【代码】树_二叉树所有路劲。

2023-12-04 10:24:13 813

原创 树_完全二叉树节点个数

【代码】树_完全二叉树节点个数。

2023-12-04 10:22:00 352

原创 树_完全二叉树的节点个数

【代码】树_完全二叉树的节点个数。

2023-12-04 08:44:26 361

原创 树_二叉树最小深度

【代码】树_二叉树最小深度。

2023-12-04 08:43:09 390

原创 树_二叉树最大深度

【代码】树_二叉树最大深度。

2023-12-04 08:41:35 893

原创 树_对称二叉树

【代码】树_对称二叉树。

2023-12-03 09:48:39 377

原创 二叉树_翻转二叉树

【代码】二叉树_翻转二叉树。

2023-12-03 09:47:22 370

原创 堆栈_删除字符串所有相邻重复项

【代码】堆栈_删除字符串所有相邻重复项。

2023-11-30 15:09:15 386

原创 堆栈_有效括号

题比较特殊,主要在于它的所有要输入,都是左括号开头,没有右括号开头的,比如"] [",这种是不算为括号的,由于必然是对称的,若能符合,因而直接在遇到右括号时,检查其左括号,栈顶为左括号,则弹出;若不符合,则必然栈会有残留,导致不符合条件,如此一来,则可判断出当前的字符串是否符合要求。

2023-11-30 15:06:01 432

原创 堆栈_队列实现栈

【代码】堆栈_队列实现栈。

2023-11-30 14:57:27 385

原创 堆栈_栈实现队列

【代码】堆栈_栈实现队列。

2023-11-30 14:54:53 367

原创 链表_相交链表

【代码】链表_相交链表。

2023-11-30 14:49:56 422

原创 哈希_快乐数

【代码】哈希_快乐数。

2023-11-29 13:27:39 332

原创 链表_删除链表节点

【代码】链表_删除链表节点。

2023-11-28 17:56:06 372

原创 双指针_四数之和

​ 相当于三数之和时,再套了一层for循环。

2023-11-26 15:10:49 366

原创 动态规划_爬楼梯

​ dp[i]为达到第i阶楼梯有多少种方法;递推公式,dp[i] = dp[i - 1] + dp[i - 2],为什么这样?初始化,由于题目规定n从1开始,那么这里就需要初始化dp[1] = 1,dp[2] = 2;确定遍历顺序,n从小到大。

2023-11-25 20:24:13 358

原创 动态规划_斐波那契

【代码】动态规划_斐波那契。

2023-11-24 20:46:05 402

原创 哈希_赎金信

​总体思路采用数组方式来处理hash映射,因为本题只涉及26种映射情况,即26个小写字母,需记录对应的字符所需数量;将要组成者的每个字符放入数据,记录每个字符所需数量;之后提供者每发现这样的一个字符,则所需数量减一;最后遍历记录者载体,即数组,若发现数组内仍有大于1的,则说明提供者给出的字符不够,则返回false。

2023-11-24 20:14:10 344

原创 虚拟机docker拉取镜像超时

​ 之前一直都nat,不知什么原因给我改成了仅主机模式,也或者是我点错了?也可能是我近期经常电脑卡死,强制重启引发的?总之,改回nat模式,centos内的docker又可以pull下来镜像了。推荐遇到这个情况时,优先考虑如何检查下下图所示位置的配置是否被改变成非nat模式,若虚拟机使用该虚拟网卡配置时。

2023-11-23 20:43:43 500 1

原创 哈希_两数之和

​ 只要需找到之前的值,则很适合hash,具体用那种hash思路,则看情况;由于本题要存放遍历过的内容,即元素(k)和下标(v),因而适合map去处理。

2023-11-23 20:37:32 386

原创 哈希_有效字母异位词

​ 前一个字符串频次结果记录完毕,再遍历后一个字符串去比,若发现相同的字符,则对应的频次减一,若发现频次有-1,则说明同样字符有多,则不匹配;若发现后一字符串某个字符没有,则说明前者无该字符,则不匹配;​ 将较短的字符串,去记录其每个字符出现频率;较长的字符串,后续去比较;防止后一个字符串过短,还没比较完前者的频次结果,程序就结束了;因而若发现后一字符串较短,则直接交换二者的对象。​ 本题由于元素数较少,则可采用数组方式记录每个元素的值(自己为了方便,则直接map,耗时增加,但也能解出)

2023-11-21 20:26:28 37

原创 word未满一行自动换行,引用文献时

找到word悬挂段落如图处,调整箭头三所在位置的设置,即可解决该问题。

2023-11-20 13:15:24 530

原创 字符串_翻转字符||

此题就是翻转字符串加了条件判断,其它和普通翻转字符串无区别;指得注意的是,遍历时,可选择每次递增2k个,比起每次i++,要更加简便。

2023-11-17 21:55:54 45

原创 翻转字符串

注意题目翻转后的效果,恰好可以将对称的字符,互相交换位置来实现;因而采用双指针法,左、右指针分别向中遍历,不断交换位置上互相对称的俩元素的字符。

2023-11-17 21:52:24 39

原创 二分法(本次为数组的二分查找)

​ 因为得出mid后,右是闭,即下次访问时,它会访问到右值,若继续传入上次的mid,则下次又访问了一次mid,导致了多余的访问,因而下一次,右值要传入“上次mid - 1”;​ 而对于while内是否需要等号,也是由右边是否闭合来决定,若右为闭,则表示left是可以和right相等的,例如[1, 1],值是合法的,即1;​ 得注意它的特点,即如何采取正确的二分思路,即边界问题,while循环直至被打破,左闭右闭,左闭右开,左开右闭等;以左闭右闭、左 闭右开为例,导致二者细节上的区别就在于,右是否闭。

2023-11-16 20:46:32 42

原创 刷题总结-二叉搜索树最近公共祖先

参数为上次cur,p,q节点,返回值为TreeNode,若返回值非null则标识找到;单层逻辑为,若当前节点值大于俩目标节点的值,则将当前节点值的左孩子传入内层递归,继续寻找,当前节点值小于俩目标节点的值,则将当前节点值的右孩子传入内层递归,继续寻找,两种情况都不是,则标识找到了公共祖先;因当前树是二叉搜索树,节点值在俩目标节点之间,则一定可以利用二叉搜索树的性质,定位到俩目标节点,这样,当前节点则正好是他们最近公共祖先(例如如下,6恰好可以凭借此性质定位到目标节点0,9)

2023-11-16 12:17:45 39

原创 虚假唤醒的理解

因为执行完,线程再参加竞争,其它的也已经唤醒,但总数刚刚执行完的那个最先抢到锁),完毕后唤醒等待的线程3、4,它们都从被唤醒处开始执行,由于是if所以不会再判断一次;因而虚假唤醒的多个线程,它们执行上锁方法不是并发,而是先后,因为锁只有一个;也正因如此,while才能起到控制虚假唤醒的作用,前一个属于正常逻辑的处理完后,释放锁,后一个此时再执行就会引起虚假唤醒,但由于获得前一个释放的锁时,前一个已经将参数变更,此时若是while,就会再判断一次,发现不符合判断条件,因而此次虚假唤醒就未能成功。

2023-07-22 16:55:28 62

空空如也

空空如也

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

TA关注的人

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