- 博客(8)
- 收藏
- 关注
原创 虚函数表、虚表指针、虚函数、纯虚函数、抽象类、虚析构
是的总结,个人复习用每个包含虚函数的类都有一个虚函数表一个类继承了有虚函数表的基类,那么这个类也拥有自己的虚表。虚函数表是一个指针数组, 元素是虚函数的指针 , 每个元素对应一个虚函数的函数指针。虚函数指针的赋值发生在编译器的编译阶段,虚表在编译阶段就被构建虚函数表是对类而言的 , 同一个类的所有对象都用这一个虚函数表类中每一个对象都有一个虚表指针 指向 虚函数表。
2025-04-01 21:07:43
932
原创 代码随想录day07
那我可以用两个循环 把A和B数组的和记下来 然后再进行后续的判断 其实开始的时候想到这了 但是我一开始以为这样可能类似 但是不是。三数之和 用哈希表 比较难实现 因为你把前面两个相加的都存起来 但是你不知道第三个数的索引是不是重复了 所以最好还是用双指针法。比如 -1 -1 0 0 0 0 0 1 1 1 1 1。看了题解 四个循环分为两个 只要不嵌套 复杂度就还好。三数之和再嵌套一层 注意去重 以及 强转long。题单是哈希表 但是没思路 暴力解试了下 超时。这里很- 1 0 1 被加入了好多次。
2025-04-01 19:43:40
140
原创 哈希表、二叉搜索树、AVL树、代码随想录day05
比如学生的名字是索引,那么用hash code 把名字转化为数值,可以将其他数据格式转化为不同的数值,这样就把学生的名字映射为哈希表上的索引了。红黑树是一种平衡二叉搜索树,所以key值是有序的,但key不可以修改,改动key值会导致整棵树的错乱,所以只能删除和增加。:当数据比较集中的时候,查找会比较慢,为了更快的查找,下一个位置查找偏移量不为1,可以为2次方。扩容 , 10个空间,有2个数据 , 负载因子就是0.2。不超过1,就可以降低整棵树的高度,保证每条分支的平衡。哈希冲突了就往后移 找后面空的位置。
2025-03-31 15:11:08
504
原创 代码随想录day04
一开始想的是我要找慢指针的前趋 我就让快指针多走一步 这样反而复杂了 就处理fast- >next!双指针法:遍历两个链表 当两个链表没有焦点 肯定最后会同时为空 作为循环退出条件 如果有交点那么直接return。:一直没过 , 做的时候脑子抽了 一直在把fast 到slow直接的节点全删除了 然后 不要整那个n+1。//递归: 我返回的是 交换后的链表头结点 那比如这个1 我让它指向 后面链表返回的头结点。可以用unorder_set 存储节点 如果第一个碰到访问过后的节点就是环的起点。
2025-03-29 18:19:55
307
原创 代码随想录day03
链表操作一定要注意空指针问题 遍历的时候最好直接取哨兵节点 不要取哨兵节点后面的节点。翻转链表 只需要用一个pre把上一个节点记住 然后每一次都把头结点 = 当前节点。这样可以有效避免空指针问题。最后就能拿到新头结点。
2025-03-29 16:10:32
128
原创 代码随想录day2
第一时间写超时了 不知道为什么?个人认为这样反而可能会优化。后面想了一下 这样写太蠢了 死循环 更正。当越界了或者访问过了才会换方向。直接统计的方式也算前缀和吗?
2025-03-28 01:02:20
109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人