
代码随想
文章平均质量分 95
lq
深情的浪漫土狗
What doesn't kill you makes you stronger.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试嵌入式-链表
/ 单链表int val;// 节点上存储的元素// 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的构造函数我不定义构造函数行不行,答案是可以的,C++默认生成一个构造函数。但是这个构造函数不会初始化任何成员变量,下面我来举两个例子:所以如果不定义构造函数使用默认构造函数的话,在初始化的时候就不能直接给变量赋值!动态内存分配链表节点的创建和删除操作相对灵活,可以根据需要动态地分配和释放内存,无需事先确定链表的长度。原创 2024-11-04 15:34:00 · 1115 阅读 · 1 评论 -
哈希表、字符串
std::set和std::multiset底层实现都是红黑树,std::unordered_set的底层实现是哈希, 使用unordered_set 读写效率是最高的,本题并不需要对数据进行排序,而且还不要让数据重复,所以选择unordered_set。在遍历数组的时候,只需要向map去查询是否有和目前遍历元素匹配的数值,如果有,就找到的匹配对,如果没有,就把目前遍历的元素放进map中,因为map存放的就是我们访问过的元素。,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。原创 2024-11-11 10:45:54 · 1060 阅读 · 0 评论 -
二叉树-总结
刚刚我们说过了二叉树有两种存储方式顺序存储,和链式存储,顺序存储就是用数组来存,这个定义没啥可说的,我们来看看链式存储的二叉树节点的定义方式。int val;大家会发现二叉树的定义 和链表是差不多的,相对于链表 ,二叉树的节点里多了一个指针, 有两个指针,指向左右孩子。这里要提醒大家要注意二叉树节点定义的书写方式。在现场面试的时候 面试官可能要求手写代码,所以数据结构的定义以及简单逻辑的代码一定要锻炼白纸写出来。原创 2024-11-13 16:31:02 · 1049 阅读 · 0 评论 -
面试嵌入式-数组
二分法是非常重要的基础算法,为什么很多同学对于二分法都是一看就会,一写就废?其实主要就是对区间的定义没有理解清楚,在循环中没有始终坚持根据查找区间的定义来做边界处理。区间的定义就是不变量,那么在循环中坚持根据查找区间的定义来做边界处理,就是循环不变量规则。本篇根据两种常见的区间定义,给出了两种二分法的写法,每一个边界为什么这么处理,都根据区间的定义做了详细介绍。原创 2024-11-07 20:34:52 · 1043 阅读 · 0 评论