随笔分类 - Leetcode
摘要:字典树 概念 又称单词查找树,Trie(读法类似try)树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。 它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高
阅读全文
摘要:Leetcode 1996. 游戏中若角色的数量 题目 https://leetcode-cn.com/problems/the-number-of-weak-characters-in-the-game/ 分析 题目要求将弱角色的数目统计出来,自己使用$O(n^2)$的办法做的,最后肯定超时了,看
阅读全文
摘要:Leetcode 16.最接近的三数之和 难度 中等 题目 https://leetcode-cn.com/problems/3sum-closest/ 解法 双指针 普通暴力解法有三层循环,复杂度O(n^3) 利用双指针可以减少一层循环。 在判断的过程中维护三数之和和target的最近距离min,
阅读全文
摘要:Leetcode 539. 最小时间差 难度 中等 题目 https://leetcode-cn.com/problems/minimum-time-difference/ 解法 排序 现将time从小到大排序,然后依次在相邻的time中找到最小值。 要注意头尾需要进行一次比较,因为24小时制的时间
阅读全文
摘要:Leetcode 179. 最大数 这是一道很经典的题目 难度 中等 题目 https://leetcode-cn.com/problems/largest-number/ 解法 排序 给我们的是int类型数组,我们首先需要将其转化为string数组。 排序的比较器: 尽可能将大的数字放在前面。 所
阅读全文
摘要:Leetcode 382. 链表随机节点 蓄水池抽样 问题描述:在不知道样本总量的情况下如何在一遍遍历中随机抽样,使得每个样品被取到的概率相同。 假设我们当前遍历到第k件样品,那么i\leq k件物品每件被抽到的概率为1/k,我们只需要每件物品在n次抽样中保证抽中一次,那么在接下来的n - k次抽样
阅读全文
摘要:Leetcode 15. 3Sum 难度 中等 题目 https://leetcode-cn.com/problems/3sum/ 思路 双指针 本题最关键的是如何去除重复解。 首先,如果数组长度小于3,返回空 按从小到大顺序排序数组。 如果长度大于等于3 在遍历数组的过程中维护一个left和rig
阅读全文
摘要:Leetcode 334. Increasing Triplet Subsequence 题目 https://leetcode-cn.com/problems/increasing-triplet-subsequence/ 描述 题目很简单,如果存在递增的三元子序列的话,返回true。否则返回fa
阅读全文
摘要:Leetcode 13. Integer To Roman 难度等级:中等 题目描述 13. Roman to Integer 思路 罗马数字和阿拉伯数字对应关系如下: 字符 数值I 1V 5X 10L 50C 100D 500M 1000 一般来说,罗马数字中小的位于大的右边。 即将一个罗马数字从
阅读全文
摘要:LeetCode 11. Container With Most Water 题目描述 https://leetcode-cn.com/problems/container-with-most-water/ 解法1 暴力+剪枝 光暴力是超时的,再加上一些条件限制勉强可以通过。 int left =
阅读全文
摘要:Leetcode 957. Prison Cells After N Days 难度等级 中等 描述 有8个牢房,每间牢房有两个状态0和1。 如果一间牢房的两个相邻的房间都被占用或者都是空的,也就是说相邻的房间状态相同。那个这一间牢房会被占用,否则会被空置。 由于头尾牢房没有相邻房间,那么如果day
阅读全文
摘要:题目:在一个具有特定排序的二维数组中寻找target值。若找到返回true。 特定排序:每一行的元素从左到右升序排列,每一列的元素从上到下升序排列。 可以用类似二叉搜索树的方法解决这种题目。 例如:在以上的数组中寻找5,我们可以从左上角(右下角也可)出发,7的左子树是4,右子树是8,所以第一步我们走
阅读全文
摘要:我们需要利用递归先从最下层进行left和right的交换,之后不断往上,直到root节点(这也是递归的特点)。
阅读全文

浙公网安备 33010602011771号