随笔分类 - 算法模板
JAVA KMP 纯模板
摘要:纯模板 记忆使用~ import java.util.*; class Main { static char[] s1; static char[] s2; static int[] next; public static void main(String[] args) { Scanner in
二叉树前中后序遍历 迭代法 只需一招!
摘要:核心思想 以中序遍历为例 在迭代法中 我们拿到 1 节点 由于有左孩子 我们就会推入 2 节点,2 节点又有左孩子, 所以我们推入 4 然后弹出, 接着弹出 2 节点, 由于这是第二次访问 2 节点, 也就意味着左子树已经去过了, 所以推入 5 节点。 那么我们模拟一下 栈的变化 假设左边为栈顶。
欧拉筛 JAVA 纯模板
摘要:// 欧拉筛 final int MAXN = (int) 1e5 + 10; boolean[] isNotPrime = new boolean[MAXN]; // true = 不是素数 false = 是素数 List<Integer> primes = new ArrayList<>();
(手写堆)215. 数组中的第K个最大元素(中等)
摘要:题面 核心思想 手写堆 构建一个大顶堆,删除k-1个堆顶元素。 为什么是size / 2 - 1? 考虑最后一个元素的下标 size - 1 那么父节点为 (size - 1) / 2 代码 class Solution { public int findKthLargest(int[] nums,
208. 实现 Trie (前缀树)
摘要:class Trie { Trie[] chs= new Trie[26]; int cnt = 0; public Trie() { } public void insert(String word) { Trie root = this; for(char ch : word.toCharArr
JAVA 快速幂 带MOD 纯模板
摘要:不是正经讲解,单纯记录模板 核心思想 7^11 二进制表示为 7^1011 = 7^1000 *7^10 *7^1 也就是7^1 * 7^2 * 7^8 所以我们不断计算自身为底的平方数,当末尾位为1时乘上结果。 代码 public long fastPow(long x, long n, long