剑指offer刷题笔记
文章平均质量分 67
飞行模式yu
SEU
展开
-
【剑指offer2】 chap15 图
有向图、无向图邻接表、邻接矩阵。原创 2022-07-21 19:36:34 · 210 阅读 · 1 评论 -
【剑指offer2】 chap14 动态规划
十四、动态规划分冶: 无重叠,直接递归 有重叠 ,建立 dp表 剑指 Offer II 088. 爬楼梯的最少成本1.单序列问题 两种空间优化方案 剑指 Offer II 089. 房屋偷盗 剑指 Offer II 090. 环形房屋偷盗 分两种情况,借助helper d[p] 剑指 Offer II 091. 粉刷房子 256. 粉刷房子 265. 粉刷房子 II原创 2022-05-11 13:11:40 · 284 阅读 · 0 评论 -
【剑指offer2】 chap13 回溯
十三、回溯法1、知识讲解 DFS 和回溯算法区别 DFS 是一个劲的往某一个方向搜索,而回溯算法建立在 DFS 基础之上的,但不同的是在搜索过程中,达到结束条件后,恢复状态,回溯上一层,再次搜索。因此回溯算法与 DFS 的区别就是有无状态重置 何时使用回溯算法 当问题需要 "回头",以此来查找出所有的解的时候,使用回溯算法。即满足结束条件或者发现不是正确路径的时候(走不通),要撤销选择,回退到上一个状态,继续尝试,直到找出所有解为止 怎么样写回溯原创 2022-05-11 13:09:09 · 131 阅读 · 0 评论 -
【剑指offer2】 chap11 二分查找
十一、二分查找1.知识梳理模板 public int searchInsert(int[] nums, int target) { int left = 0; int right = nums.length - 1; while (left <= right) { int mid = left + (right - left) / 2; //满足条件 if (nums[mid] == target) ......原创 2022-05-11 13:07:19 · 122 阅读 · 0 评论 -
【剑指offer2】 chap10 前缀树
十、前缀树1.知识梳理 又称为字典树,树状结构存储字典,多叉树,每个节点表示字符串的一个字符 字符串终止标志 无特殊说明,只包含小写英文字母 2.题型总结(1)前缀树模板 三大基本操作:创建、插入、查找 剑指 Offer II 062. 实现前缀树class Trie { static class TrieNode {// //孩子节点 TrieNode children[]; ......原创 2022-05-11 13:03:13 · 111 阅读 · 0 评论 -
【剑指offer2】 chap9 堆
九、堆1.知识梳理 堆是一种特殊的树形数据结构,通常用完全二叉树实现 分为最大堆和最小堆+应用 最大堆:根节点是最大值,k个最小的元素,比堆顶大就不插入,剩下小的 最小堆:根节点是最小值,k个最大的元素,比堆顶小就不插入,剩下大的 相关规律:元素下标为 i 父节点 为(i-1)/2 左右子节点为 2i+1、2i+2 时间复杂度:O(log·n) 插入 删除 Ja.原创 2022-05-11 13:00:37 · 210 阅读 · 0 评论 -
【剑指offer2】 chap8 树
八、树1、基础知识 树的定义 class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {} TreeNode(int val) {this.val = val;} TreeNode(int val, TreeNode left, TreeNode right) { this.val = val; this.left = left;............原创 2022-05-11 12:57:51 · 162 阅读 · 0 评论 -
【剑指offer2】 chap7 队列
七、队列1、基础知识 Queue: 常用函数 add——offer remove——poll element——peek 接口: LinkedList ArrayDeque PriorityQueue Deque(双端队列) 2、基本题型(1)先入先出 滑动窗口 剑指 Offer II 041. 滑动窗原创 2022-05-11 12:34:19 · 201 阅读 · 0 评论 -
【剑指offer2】 chap6 栈
依次入栈+计算(case语句)原创 2022-05-11 12:25:33 · 165 阅读 · 0 评论 -
【剑指offer2】 chap5 哈希表
五、哈希表1、基础知识 HashSet add contains remove size HashMap containsKey get getOrDefault put putIfAbsent remove replace size 如何设计哈希表+原理 Map.Entry<Integer, Integer>也可以作为一个对象2、基本题型(1)设计相关数据结构 哈希+.........原创 2022-05-11 12:17:02 · 110 阅读 · 0 评论 -
【剑指offer2】 chap4 链表
四、链表1、基础知识 ListNode 哨兵节点 2、基本题型(1)双指针 前后双指针 剑指 Offer II 021. 删除链表的倒数第 n 个结点 法一:快慢双指针 class Solution0211 { //前后双指针 public ListNode removeNthFromEnd(ListNode head, int n) { ListNode dummy = new ListNod原创 2022-05-11 11:50:53 · 104 阅读 · 0 评论 -
【剑指offer2】 chap3 字符串
三、字符串1、基础知识 Character Java Character 类 | 菜鸟教程 Character.isLetterOrDigit(ch1)Character.toLowerCase(ch1) String charAt cmpareTo equals原创 2022-05-01 15:34:37 · 363 阅读 · 0 评论 -
【剑指offer2】 chap2 数组
二、数组1、基础知识 静态数组 Java 数组 | 菜鸟教程 动态数组 ArrayList:Java ArrayList | 菜鸟教程 LinkedList:Java LinkedList | 菜鸟教程 List<...> list = new ArrayList<>(); 可根据索引查找 list.get(index) 可根据索引删除 list...原创 2022-05-01 15:28:46 · 562 阅读 · 0 评论