双指针
双指针的题解
jump_into_zehe
这个作者很懒,什么都没留下…
展开
-
环形链表
LeetCode 环型链表 Ⅱ 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明: 不允许修改给定的链表。 进阶: 你是否可以不用额外空间解决此题? 示例1: 输入:head = [3,2,0,-4], pos = 1 输出:tail connects to node index 1 解释:链表中有一个环,其尾部连接到第二个节点原创 2020-08-07 21:49:55 · 93 阅读 · 0 评论 -
推多米诺
LeetCode 838 推多米诺 一行中有 N 张多米诺骨牌,我们将每张多米诺骨牌垂直竖立。 在开始时,我们同时把一些多米诺骨牌向左或向右推。 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌。 同样地,倒向右边的多米诺骨牌也会推动竖立在其右侧的相邻多米诺骨牌。 如果同时有多米诺骨牌落在一张垂直竖立的多米诺骨牌的两边,由于受力平衡, 该骨牌仍然保持不变。 就这个问题而言,我们会认为正在下降的多米诺骨牌不会对其它正在下降或已经下降的多米诺骨牌施加额外的力。 给定表示初始状态的字符串 “S” 。如原创 2020-08-06 14:38:31 · 354 阅读 · 0 评论 -
面试题 16.06. 最小值
LeetCode 面试题 16.06. 最小差 给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 示例: 输入:{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8} 输出: 3,即数值对(11, 8) 提示: 1 <= a.length, b.length <= 100000 -2147483648 <= a[i], b[i] <= 2147483647 正确结果在区间[-2147483648, 2147原创 2020-08-06 10:59:06 · 170 阅读 · 0 评论 -
区间列表的交集
LeetCode 986 区间列表的交集 给定两个由一些 闭区间 组成的列表,每个区间列表都是成对不相交的,并且已经排序。 返回这两个区间列表的交集。 (形式上,闭区间 [a, b](其中 a <= b)表示实数 x 的集合,而 a <= x <= b。两个闭区间的交集是一组实数,要么为空集,要么为闭区间。例如,[1, 3] 和 [2, 4] 的交集为 [2, 3]。) 示例: 输入:A = [[0,2],[5,10],[13,23],[原创 2020-08-05 22:30:21 · 558 阅读 · 0 评论 -
三数之和
LeetCode 15 三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意: 答案中不可以包含重复的三元组。 示例: 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] 解法1:暴力法 解题思路: 首先用两层for循环取出三元组的前两个数,然后用二分查找找出前两个数之原创 2020-08-05 21:05:37 · 185 阅读 · 0 评论 -
面试题 17.11.单词距离
LeetCode 面试题 17.11. 单词距离 有个内含单词的超大文本文件,给定任意两个单词,找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次,而每次寻找的单词不同,你能对此优化吗? 示例: 输入:words = ["I","am","a","student","from","a","university","in","a","city"], word1 = "a", word2 = "student" 输出:1 提示: words.length <= 10原创 2020-08-05 16:43:18 · 1272 阅读 · 0 评论 -
水果成篮
LeetCode 904 水果成篮 在一排树中,第i棵树产生tree[i]型的水果。 你可以从你选择的任何树开始,然后重复执行以下步骤: 把这棵树上的水果放进你的篮子里。如果你做不到,就停下来。 移动到当前树右侧的下一棵树。如果右边没有树,就停下来。 请注意,在选择一颗树后,你没有任何选择:你必须执行步骤 1,然后执行步骤 2,然后返回步骤 1 ,然后执行步骤 2,依此类推,直至停止。 你有两个篮子,每个篮子可以携带任何数量的水果,但你希望每个篮子只携带一种类型的水果。 用这个程序你能收集的水果总量是多原创 2020-08-05 14:57:25 · 470 阅读 · 0 评论 -
删除排序数组中的重复项
leetCode 26 删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 示例 2: 给定 nums = [0,0,1,1,1,2,2,3,3,4原创 2020-08-05 12:01:12 · 160 阅读 · 0 评论