- 博客(6)
- 收藏
- 关注
原创 C++刷题记录——单调栈
什么时候用单调栈?要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的。整体逻辑有点儿绕,从右至左,从左至右逻辑捋清楚。
2025-03-17 06:49:26
833
原创 C++ Prime 笔记
右值代表的是临时值,通常是计算结果或者字面值,它不一定指向一个固定的内存位置。出现在赋值运算符左边的对象,代表着一个可以定位和修改的内存位置。(2)二者都支持动态内存分配,可自动调整内存大小,元素超过容量时都会分配更大的内存块,并将原有数据复制过去。(3)具有相似的成员函数,支持拷贝、赋值、运算。:指向容器中最后一个元素的下一个位置(即“末尾后”的位置,不指向有效元素)。凡使用了迭代器的循环体,都不要向迭代器所属的容器添加元素。指针、指向常量的指针、常量指针、指向常量的常量指针。(4)都支持迭代器。
2025-03-15 21:57:11
256
原创 C++刷题记录——贪心算法
public://注意这里,maxposition的设置是巧妙地,可移动范围是可以改变的i++){解题的逻辑不清晰。正确的简洁思路:当走到步数的最大覆盖范围时,步数增加。注意i的范围!在遍历数组时,我们不访问最后一个元素,这是因为在访问最后一个元素之前,我们的边界一定大于等于最后一个位置,否则就无法跳到最后一个位置了。如果访问最后一个元素,在边界正好为最后一个位置的情况下,我们会增加一次「不必要的跳跃次数」,因此我们不必访问最后一个元素。
2025-03-15 14:55:27
661
原创 C++刷题记录——回溯算法
使用std::map:当你需要保证元素按键排序,并且需要在有序的数据上进行操作时。使用:当你不关心顺序并且需要高效的插入、删除和查找操作时。使用:当你知道需要一个固定大小的数组,并且不需要按键查找数据时,可以使用简单的数组。如果你想要动态数据存储,std::map或会更加合适。private://如何定义键盘与字母的对应关系public://这里定义result是string类型return;//递归过程实现深度//将输入的每位字符转化成数字。
2025-03-11 11:41:22
893
原创 C++刷题记录-二叉树
代码简化:1.这里其实不需要,for循环;2.如果已知cur->left为左底层叶子节点,那就不用再放入队中了;易出错位置:判断是否为底层左叶子节点时,存在思维误区,一个节点可能没有左叶子节点但是有右叶子节点。
2025-03-04 11:52:43
557
原创 C++刷题记录-数组&链表&哈希&栈与队列
如果你不指定初始值,向量的元素将不会被显式地初始化,它们的值将是未定义的。这意味着这些元素可能包含任何值,这取决于内存在向量被创建时的状态。使用未初始化的值可能会导致程序行为不可预测或产生错误。
2024-10-31 06:07:43
913
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人