随笔分类 - 刷题记录
摘要:1、汉诺塔问题 1.1、描述: 将 n 个盘子(均在from柱子上,上面的盘子最小,往下依次增大)从 from 盘移动到 to 盘,可以借助中间盘 mid,移动过程中要保证小盘子不能在大盘子之下 1.2、思路: - 抽象考虑,先将 1~n-1 的盘子从 from 移动到 mid 上,再将 n 从 f
阅读全文
摘要:关于排序的一些题目 1、合并区间 描述 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 输入:intervals = [[
阅读全文
摘要:1、排序数组中两个数字之和 描述 给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数target。 函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 ,所以答案数组应当满足 0 <= answe
阅读全文
摘要:1、 数组中和为 0 的三个数 描述 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a ,b ,c ,使得 a + b + c = 0 ?请找出所有和为 0 且 不重复 的三元组。 解法 暴力来说,我们应该对数组使用三重循环,逐一判断。三重循环我们可以简化为一
阅读全文
摘要:关于前缀树的一些题目 1、实现前缀树 描述: 请你实现 Trie 类: Trie() 初始化前缀树对象。 void insert(String word) 向前缀树中插入字符串 word 。 boolean search(String word) 如果字符串 word 在前缀树中,返
阅读全文
摘要:关于树的一些题目 1、二叉树减枝 描述: 给定一个二叉树 根节点 root ,树的每个节点的值要么是 0,要么是 1。请剪除该二叉树中所有节点的值为 0 的子树。节点 node 的子树为 node 本身,以及所有 node 的后代。 解法: 要求减除的是所有值为 0 并且子节点值也为 0 的
阅读全文
摘要:关于队列的一些题目 1、滑动窗口平均值 描述:给定一个整数数据流和一个窗口大小,根据该滑动窗口的大小,计算滑动窗口里所有数字的平均值。 解法:设置一个 sum,计算总和,在数值个数达到给定最大容量之前,一直添加,用 sum/que.size() 计算平均值。达到最大容量后,弹出最开始的那个,加入新的
阅读全文
摘要:关于链表的一些题目 1、双链表的交点 使用双指针,假设 A 链表的长度是 lenA ,B的长度是 lenB,根据lenA+lenB = lenB+lenA,让A指针遍历完A之后去便利B,B指针同理。即可在相遇时获得交点。即使没有交点,两指针在遍历完两个链表之后会同时指向 null 如果其中一个链表为
阅读全文