摘要: 多态和虚函数 多态和虚函数的快速认知 相信看完上个笔记应该知道:通过基类指针只能访问派生类的成员变量,但是不能访问派生类的成员函数,因为调用函数是通过对象类型去调用的,而不是通过指针; 例子: #include <iostream> using namespace std; //基类People c 阅读全文
posted @ 2022-05-11 10:01 D-booker 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 title: 往完全二叉树添加节点 📃 题目描述 题目链接:往完全二叉树添加节点 🔔 解题思路 方法一:空间换时间的思想,采用层次遍历,遍历到第一个可插入 节点的 父节点,证明后续的节点都是可以作为父节点插入数据的,保存在队列中,如图: 节点3就是可插入数据的第一个节点,节点6就是 阅读全文
posted @ 2022-05-11 00:27 D-booker 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 引用、继承与派生 引用介绍 首先外面要知道:参数的传递本质上是一次赋值的过程,赋值就是对内存进行拷贝。所谓内存拷贝,是指将一块内存上的数据复制到另一块内存上,对于聚合类 型(复杂类型,类似结构体和类这些)消耗的内存可能会非常大。 引用可以看做是数据的一个别名,通过这个别名和原来的名字都能够找到这份数 阅读全文
posted @ 2022-05-10 12:29 D-booker 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 类和对象 创建方法 第一种式直接声明: class Student { private: string name; public: Student(string name) { this->name = name; } } //声明: Student lu;//不带初始化 //带初始化; Stude 阅读全文
posted @ 2022-05-10 10:47 D-booker 阅读(108) 评论(0) 推荐(0) 编辑
摘要: title: 二维子矩阵的和 📃 题目描述 题目链接:二维子矩阵的和 🔔 解题思路 二维数组前缀和模板题,最主要的问题就是边界问题,最好的解决方案: 加多两个边界: class NumMatrix { public: vector<vector<int>> sum; NumMatrix(vect 阅读全文
posted @ 2022-05-09 22:55 D-booker 阅读(40) 评论(0) 推荐(0) 编辑
摘要: title: 左右两边子数组的和相等 📃 题目描述 题目链接:左右两边子数组的和相等、相同的题 🔔 解题思路 考虑答案是什么情况:存在答案时, 下标左边的数组和 = 下标右边的数组和,可以分别求出两边,然后进行对比,求后边的数组又要进行循环这样时间复杂度过大,或者先求出总和后,每次遍历不断减去, 阅读全文
posted @ 2022-05-09 21:54 D-booker 阅读(21) 评论(0) 推荐(0) 编辑
摘要: title: 0和1个数相同的子数组 📃 题目描述 题目链接:0和1个数相同的子数组、Leetcode相同题目 🔔 解题思路 这道题是不是看起来感觉和JZ010有点像,又有点不像?像是因为都是子数组,而不像因为并没有是要求和为多少,而是要子数组内0、1数量相同。 那么,如果将0 换成-1,是不是 阅读全文
posted @ 2022-05-09 01:26 D-booker 阅读(43) 评论(0) 推荐(0) 编辑
摘要: title: 和为k的子数组 📃 题目描述 题目链接:和为k的子数组、leetcode一样的题目 🔔 解题思路 连续子数组、达到一定值,这些条件好像都是滑动窗口的暗示啊,实际上,不能用滑动窗口!原因:滑动窗口必须都是正数或者负数,因为这样左右指针单向滑动才能一个负责增大 一个负责减少! 解法:前 阅读全文
posted @ 2022-05-09 00:56 D-booker 阅读(47) 评论(0) 推荐(0) 编辑
摘要: title: 乘积小于k的子数组 📃 题目描述 题目链接:乘积小于k的子数组、剑指offer009 🔔 解题思路 注意: 一开始的乘积k值就是小的,随着右边窗口移动才会不断增大 怎么样的条件才能更新左窗口:当乘积的值 ≥ k的时候,我们就需要更新左窗口,使得值小于k,出来后的值小于k了,我们才可 阅读全文
posted @ 2022-05-07 18:02 D-booker 阅读(32) 评论(0) 推荐(0) 编辑
摘要: title: 长度最小的子数组 📃 题目描述 题目链接:长度最小的子数组、剑指offer008 🔔 解题思路 简单滑动窗口题目,需要知道: 窗口左指针移动条件:窗口内总和 ≥ target 即可以不断移动窗口; int minSubArrayLen(int target, vector<int> 阅读全文
posted @ 2022-05-07 17:47 D-booker 阅读(28) 评论(0) 推荐(0) 编辑