- 博客(23)
- 收藏
- 关注
原创 速通DFS
感觉问题还是在于递归中需要注意:每次递归传递的数值分为,并在每次迭代的过程中找到其中的 种子节点。其实前序序列就是一个不断通过来确定中间种子节点的数随后通过哈希字典不断查找该种子在的值,从而确定迭代函数中的各自参数值。为什么说是DFS,主要还是在于其不断递归是从最左的节点开始不断递归;因为是根据前序遍历来确定种子节点,所以在具体过程中还是先确定种子节点然后不断。
2023-10-10 19:23:35
131
原创 STM32 外部中断
设置GPIO_InitStruct初始化位上下沿触发,同时位上拉电阻;分别将KEY1和KEY2分别射中Init,这边也再次强调了再外部中断设置中,类似于PB1和PE1并不能复用哦,端口不同但是针脚相同就不太行;重定向中断服务函数,随后在重定向中断服务函数时再重定向外部回调函数。加上了__weak 修饰符的函数,用户可以在用户文件中重新定义一个同名函数,最终编译器编译的时候,会选择用户定义的函数,如果用户没有重新定义这个函数,那么编译器就会执行__weak 声明的函数,并且编译器不会报错。
2023-08-27 17:31:21
545
1
原创 冲刺华为、每天学五道 Day1
getline经常使用在字符串的输入中,在C++zhong1除了getline输入字符串外还可以使用cin进行字符串的输入,两者的区别是用cin进行输入时遇到空格代表字符串的输入结束,而用getline进行字符串的输入时遇到换行符才会结束该字符串的输入。原文链接:https://blog.youkuaiyun.com/m0_72542983/article/details/128822871。版权声明:本文为优快云博主「柒笙歌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
2023-08-18 03:46:35
115
1
原创 从零单排代码随想录 | Day14 77.组合、216.组合总和III、17.电话号码的字母组合
时间不够了,速通一下回溯、贪心和动态规划,再学习抢救一下。
2023-08-07 21:06:35
143
原创 从零单排代码随想录 | Day13 222.完全二叉树的节点个数、110.平衡二叉树、257. 二叉树的所有路径
这个直接套用了前面后序遍历,然后遍历了所有节点,随后将节点个数加起来并加一。
2023-08-04 08:08:05
107
1
原创 从零单排代码随想录 | Day12 101.对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度
一段是一定要的,检测到空节点时,一定要结束递归法,开始向前回溯了;同时存在空指针的情况,也无法让下一句编译运行。
2023-07-29 23:24:18
90
原创 从零单排代码随想录 | Day11 二叉树的递归遍历(递归、迭代)、102.二叉树的层序遍历(BFS)、226.翻转二叉树
【代码】从零单排代码随想录 | Day11 二叉树的递归遍历、
2023-07-26 05:15:57
138
1
原创 从零单排代码随想录 | Day10 1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值、239. 滑动窗口最大值、347.前 K 个高频元素
这可以用来访问字符串的最后一个字符,也可以在字符串的末尾附加一个字符。追加字符后,字符串的长度保持不变,字符串的最后一个字符被新的替换。所以就是用栈来存放,那么栈的目的,就是存放遍历过的元素,当遍历当前的这个元素的时候,去栈里看一下我们是不是遍历过相同数值的相邻元素。然后再去做对应的消除操作。类似于消消乐或者祖玛的操作,但注意一点,这道题。用法此函数返回对字符串最后一个字符的直接引用。这只能用于非空字符串。
2023-07-17 04:30:04
130
1
原创 从零单排代码随想录 | Day9 232. 用栈实现队列、225. 用队列实现栈、20. 有效的括号
【代码】从零单排代码随想录 | Day9 232. 用栈实现队列。
2023-07-12 02:42:30
194
1
原创 【STM32】32中BSRR控制GPIO输出流程(区别于51)
所以在Writepin时设置输出为高电平或者低电平,只能再通过Writepin(PORT,PIN,1/0)才能更改其状态,而调整其他位时,是不会影响其他位的状态。是作用,高16位是Reset(所以在输入时需要将pin值左移16位并且强制变为unit32_t型),即输出低电平;翻阅了STM32的芯片手册后发现,BSRR这一Bit SET/RESET REGISTERS 就是为了逐位改变GPIO的输出高低电平而设计的。在51单片机中常常使用位运算符或者位移符号,整体对P0口的八个引脚进行操作输出输入,例如。
2023-07-11 03:43:52
616
原创 【转载】取消“Note: source file ‘..\ModuleDrivers\XX.c‘ - object file renamed from ‘.\XX.o”的BUG
在由于更改路径从而出现重复的C文件引用时,在重复的C文件进行右键,取消‘Include in target build’就会发现不会产生重复的xx.o的文件!版权声明:本文为优快云博主「周星星_少年只有一个面」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/qq_28851611/article/details/107818405。
2023-07-10 17:04:36
1514
2
原创 从零单排代码随想录 | Day8 151. 反转字符串中的单词、剑指 Offer 58 - II. 左旋转字符串
在最后反转的主程序中,需要注意的是,是左闭右闭的情况,所以要取到s.size()这一位。②.慢指针先跟着输入一个空格(在不是首位的时候),用于间隔。③.当快指针扫到不为空格的时候,慢指针跟随快指针同步字母。①.快指针查找到单词的首位。
2023-07-07 03:25:34
131
1
原创 从零单排代码随想录 | Day7 字符串 344.反转字符串、541. 反转字符串II、剑指05.替换空格
这一题的重点在于使用双指针的时候,记得从后往前进行指针数据的赋予;这也是双指针重新给数组排数的一大特点。从前向后填充就是O(n^2)的算法了,因为每次添加元素都要将添加元素之后的所有元素向后移动。其实很多数组填充类的问题,都可以先预先给数组扩容带填充后的大小,然后在从后向前进行操作。有同学问了,为什么要从后向前填充,从前向后填充不行么?
2023-07-05 00:19:53
145
1
原创 从零单排代码随想录 | Day6 哈希表 454、383、15、18
注意一点就是他把四个数组分成两半进行循环;确保其时间复杂度为(n^2);然后左边先确定A+B的思路并且建立起相关的map;其中他的a+b的数值是他的key,而a+b出现的次数是其key所导向的值。出现一次加一次呗!的作用:map的下标运算符[]的作用是:将关键码(Key)作为下标去执行查找,并返回对应的值(Value);如果不存在这个关键码,就将一个具有该关键码和值类型的默认值的项插入这个map。map的find函数:用关键码执行查找,找到了返回该位置的迭代器;如果不存在这个关键码,就返回尾迭代器。
2023-06-29 02:49:13
164
1
原创 从零单排代码随想录 | Day5 哈希表 242、349、202、1
这里还是利用了字母和ASCII码的特性;了解字符串数组;字母相减就是其ASCII码的差值,同时而言是他们的位序之差。
2023-06-28 03:30:00
150
1
原创 从零单排代码随想录 | Day4 链表第四题、第五题、第六题、第七题[链表完结]
在设计链表,了解到链表的特性之后,其实其中的语法和题目难度都并不大,只需要慢慢去了解然后去做就好了;唯一还有些不理解的就是递归那一部分了。
2023-06-21 00:50:42
104
原创 从零单排代码随想录 | Day3 链表第一题、第二题、第三题
接下来说一说链表的定义。链表节点的定义,很多同学在面试的时候都写不好。这是因为平时在刷leetcode的时候,链表的节点都默认定义好了,直接用就行了,所以同学们都没有注意到链表的节点是如何定义的。而在面试的时候,一旦要自己手写链表,就写的错漏百出。// 单链表 struct ListNode {int val;// 节点上存储的元素 ListNode * next;// 指向下一个节点的指针 ListNode(int x) : val(x) , next(NULL) {
2023-06-13 03:46:16
165
1
原创 从零单排代码随想录 | DAY2 数组第四、五题 & 链表开头
模拟类的题目在数组中很常见,不涉及到什么算法,就是单纯的模拟,十分考察大家对代码的掌控能力。在这道题目中,我们再一次介绍到了循环不变量原则,其实这也是写程序中的重要原则。相信大家有遇到过这种情况: 感觉题目的边界调节超多,一波接着一波的判断,找边界,拆了东墙补西墙,好不容易运行通过了,代码写的十分冗余,毫无章法,其实真正解决题目的代码都是简洁的,或者有原则性的,大家可以在这道题目中体会到这一点。
2023-06-13 03:31:21
85
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅