LeetCode
文章平均质量分 51
LeetCode
肖帆咪
好事多磨
展开
-
链表中环的入口
题目描述对于一个给定的链表,返回环的入口节点,如果没有环,返回null拓展:你能给出不利用额外空间的解法么?拙劣的画技思路设置快慢指针,都从链表头出发,快指针每次走两步,慢指针一次走一步,假如有环,一定相遇于环中某点接着让两个指针分别从相遇点和链表头出发,两者都改为每次走一步,最终相遇于环入口。两个结论:1.设置快慢指针,假如有环,他们最后一定相遇在环中。2.两个指针相遇后,让两个指针分别从链表头和相遇点重新出发,每次走一步,最后一定相遇于环入口。代码原题链接/** * Def原创 2021-05-24 17:25:25 · 211 阅读 · 0 评论 -
LeetCode每日一题(1734. 解码异或后的排列)
直接上图思路代码class Solution { public int[] decode(int[] encoded) { int n = encoded.length; int[] decode = new int[n + 1]; //求1到n+1的所有数异或 int all = 0; for (int i = 0; i <= n + 1; i++) { all ^= i;原创 2021-05-11 11:40:24 · 105 阅读 · 0 评论 -
LeetCode每日一题(1482. 制作 m 束花所需的最少天数)
给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。示例 1:输入:bloomDay = [1,10,3,10,2], m = 3, k = 1输出:3解释:让我们一起观察这三天的花开过程,x 表示花开,而 _ 表示花还未开。原创 2021-05-09 20:15:43 · 130 阅读 · 0 评论 -
LeetCode每日一题(1486. 数组异或操作)
简单题我重拳出击给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2i*(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。示例 1:输入:n = 5, start = 0输出:8解释:数组 nums 为 [0, 2, 4, 6, 8],其中 (0 ^ 2 ^ 4 ^ 6 ^ 8) = 8 。“^” 为按位异或 XOR 运算符。示例 2:输入:n = 1, star.原创 2021-05-07 11:04:18 · 154 阅读 · 1 评论 -
LeetCode每日一题(1720. 解码异或后的数组)
未知 整数数组 arr 由 n 个非负整数组成。经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。给你编码后的数组 encoded 和原数组 arr 的第一个元素 first(arr[0])。请解码返回原数组 arr 。可以证明答案存在并且是唯一的。示例 1:输入:encoded = [1,2,3], first原创 2021-05-06 14:39:57 · 149 阅读 · 0 评论