- 博客(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-11-30 15:06:01
432
原创 动态规划_爬楼梯
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
原创 哈希_赎金信
总体思路采用数组方式来处理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
原创 字符串_翻转字符||
此题就是翻转字符串加了条件判断,其它和普通翻转字符串无区别;指得注意的是,遍历时,可选择每次递增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关注的人