摘要: 滑动窗口 什么是滑动窗口: 滑动窗口是一种算法设计和技巧,用于高效处理数组/字符串中的连续子序列的问题。它通过**动态**维护一个窗口,在遍历过程中调整窗口边界以满足约束条件。 解决什么问题: 连续子区间优化问题,寻找最长/最短的连续数组,子字符串 满足特定约束条件,元素和,频率限制 什么场景使用: 阅读全文
posted @ 2025-08-29 16:50 杰西卡若 阅读(19) 评论(0) 推荐(0)
摘要: 为什么需要移动语义? 拷贝构造是将原来的资源的值原封不动的再次生成一份。移动构造是将原来资源的值在变成自己的。 class Buffer { char* data_; size_t size_; public: Buffer(const Buffer& rhs) // 拷贝构造 : data_(ne 阅读全文
posted @ 2025-08-29 16:40 杰西卡若 阅读(12) 评论(0) 推荐(0)
摘要: Professional C++ 第六版学习记录 Github 基础知识 const使用 const 用来表示不可修改的值或者对象 常量 const int a = 10; // a不可被修改 a = 12 // error std::optional 类模板 std::optional 管理一个可 阅读全文
posted @ 2025-08-27 22:54 杰西卡若 阅读(25) 评论(0) 推荐(0)
摘要: 二分搜索 时间复杂度 O(logN):最坏的情况下 O(1):恰好要找的数在最中间 寻找一个数 要点:数组是有序 bool exist(vector<int>& arr, int num) { if (arr == null || arr.size() == 0) { return false; } 阅读全文
posted @ 2025-08-27 22:51 杰西卡若 阅读(7) 评论(0) 推荐(0)
摘要: 双向链表 节点类型 template <typename T> class Node { public: Node(T data) : _data(data), prev(nullptr), next(nullptr) {} public: T _data; Node *prev; Node *ne 阅读全文
posted @ 2025-07-17 18:54 杰西卡若 阅读(21) 评论(0) 推荐(0)
摘要: 反转链表 定义节点类型 // 定义节点类型 class Node { public: Node(int data) : _data(data), next(nullptr) {} public: int _data; Node *next; }; 定义链表 // 定义链表 class LinkLis 阅读全文
posted @ 2025-07-15 20:32 杰西卡若 阅读(10) 评论(0) 推荐(0)
摘要: C++实现单链表 1.节点类 template <class T> class Node { public: T data; Node<T> *next; Node(T data); }; 2.链表类 template <class T> class LinkedList { public: // 阅读全文
posted @ 2025-07-15 17:58 杰西卡若 阅读(38) 评论(0) 推荐(0)