摘要:
1. 双指针法(定长,变长); 滑动窗口:3. 无重复字符的最长子串 1 //滑动窗口 + 二分 2 3 class Solution { 4 public: 5 bool check(int len, string s) { 6 vector<int> cnt(256, 0); 7 int k = 阅读全文
摘要:
**基础知识** 1. 树形结构: 从代码结构来看,Tree 与 链表类似,主要在指针域的区别; 链表可以看成一叉树; 树形结构中: 节点代表集合,边代表关系 (RB tree/ trie...), 比如说 左边是小于关系,所以左边拎出来都是小于根节点的集合; 右边是大于关系,右边拎出来都是大于根节 阅读全文
摘要:
这些基础知识都是数论中基本,而在密码学中数论又是基础; 数论基础(质数筛法、同余、快速幂、gcd、裴蜀定理) **基础知识** 欧几里得算法: gcd(a, b) : 求a, b 最大公约数: 辗转相除法: 通过讲一个较大规模问题换换成为一个较小问题;(leetcode 1071 很有意思的题目,看 阅读全文
摘要:
**基础知识** 1. FILO(先入后出) : 出栈 更多意义上是指 指针移动(与队列出队类似,都是指针的移动); 2. 括号匹配问题引出 思路进阶过程:记录左右括号个数 -> 影响的其实左右括号差 -> 本质是 ( 等价 发生,) 等价 结束,()才是一件事情完整; ( ( ) ) 可以看作 是 阅读全文
摘要:
基础知识 一段连续存储区存储任意数据,包含head,tail(最后一个元素的下一位:因为一般都是采用前开后闭区间,这样 cnt = tail - head); 支持操作有push(队尾入队),pop(队首出队); 先入先出(FIFO); 队列出队,入队多次操作以后,如果没有重复利用先前出队的空间,而 阅读全文