leetcode
voidfaceless
这个作者很懒,什么都没留下…
展开
-
【Leetcode】面试题57 - II. 和为s的连续正数序列
题目输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]限制:1 <= target <=...原创 2020-03-06 18:52:36 · 129 阅读 · 0 评论 -
【Leetcode】面试题03. 数组中重复的数字
题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000思路思路1:排序,然后判断前后...原创 2020-03-06 11:08:38 · 207 阅读 · 0 评论 -
【Leetcode】1103.分糖果II
题目排排坐,分糖果。我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。重复上述过程(每次都比上一次多给...原创 2020-03-05 14:34:03 · 234 阅读 · 0 评论 -
【Leetcode] 915.分割数组
题目给定一个数组 A,将其划分为两个不相交(没有公共元素)的连续子数组 left 和 right, 使得:left 中的每个元素都小于或等于 right 中的每个元素。left 和 right 都是非空的。left 要尽可能小。在完成这样的分组后返回 left 的长度。可以保证存在这样的划分方法。示例 1:输入:[5,0,3,8,6]输出:3解释:left = [5,0,3],...原创 2020-02-25 18:41:47 · 278 阅读 · 0 评论 -
【Leetcode】1129. 颜色交替的最短路径
题目在一个有向图中,节点分别标记为 0, 1, ..., n-1。这个图中的每条边不是红色就是蓝色,且存在自环或平行边。red_edges中的每一个 [i, j]对表示从节点i到节点j的红色有向边。类似地,blue_edges 中的每一个[i, j]对表示从节点 i 到节点j的蓝色有向边。返回长度为 n 的数组answer,其中 answer[X]是从节点0到节点X 的最短路径的长度,且路径...原创 2020-02-19 14:47:07 · 299 阅读 · 0 评论 -
【Leetcode】563. 二叉树的坡度
题目给定一个二叉树,计算整个树的坡度。一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值。空结点的的坡度是0。整个树的坡度就是其所有节点的坡度之和。示例:输入: 1 / \ 2 3输出: 1解释: 结点的坡度 2 : 0结点的坡度 3 : 0结点的坡度 1 : |2-3| = 1树的坡度 : 0 + 0 + 1 =...原创 2020-02-17 17:02:44 · 157 阅读 · 0 评论 -
【Leetcode】309. 最佳买卖股票时机含冷冻期
题目给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,3,0,2]输出: 3 解释: 对应的交易状态为: [买入, 卖出...原创 2020-01-31 11:07:33 · 124 阅读 · 0 评论 -
【Leetcode】120. 三角形最小路径和
Leetcode 120.三角形最小路径和题目描述给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法...原创 2020-01-29 17:58:12 · 167 阅读 · 0 评论 -
【Leetcode】Leetcode143.重排链表
Leetcode143.重排链表题目给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3...原创 2019-12-04 09:27:11 · 157 阅读 · 0 评论 -
【Leetcode】Leetcode61.旋转链表
Leetcode61.旋转链表题目给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL...原创 2019-12-02 20:36:37 · 125 阅读 · 0 评论 -
【Leetcode】Leetcode86.分隔链表
Leetcode86.分隔链表题目给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5来源:力扣(LeetCode...原创 2019-12-02 20:11:59 · 129 阅读 · 0 评论 -
【Leetcode】19. 删除链表的倒数第N个节点
【Leetcode】19. 删除链表的倒数第N个节点题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?思路两个指针,一...原创 2019-11-30 22:19:17 · 84 阅读 · 0 评论 -
【Leetcode】24. 两两交换链表中的节点
【Leetcode】24. 两两交换链表中的节点题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.思路借助堆栈,每两个入栈。注意最后要判断结果是None还是head,否则会出现环链表代码# Defi...原创 2019-11-30 19:47:22 · 95 阅读 · 0 评论 -
【Leetcode】Leecode 45. 两数相加 II
Leecode 45. 两数相加 II题目给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示例:输入: (7 -> 2 -> 4 -> 3) + (5 -...原创 2019-11-30 16:00:38 · 109 阅读 · 0 评论 -
【Leetcode】Leetcode 82. 删除排序链表中的重复元素 II
Leetcode 82. 删除排序链表中的重复元素 II题目给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3来源:力扣(...原创 2019-11-26 23:19:40 · 135 阅读 · 0 评论 -
【Leetcode】Leetcode 206.反转链表
Leetcode 206.反转链表题目反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/r...原创 2019-11-24 12:47:41 · 136 阅读 · 0 评论 -
【Leetcode】Leetcode 75.颜色分类
Leetcode 75.颜色分类题目:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方...原创 2019-11-23 19:44:54 · 125 阅读 · 0 评论 -
【Leetcod】Leetcode77.组合
Leetcode77.组合题目描述给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/combina...原创 2019-11-18 20:21:37 · 132 阅读 · 0 评论 -
【Leetcode】Leetcode54.螺旋矩阵
Leetcode54.螺旋矩阵给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[[1, 2, 3, 4],[5, 6, 7, 8],[9,10,11,12...原创 2019-11-18 09:28:29 · 86 阅读 · 0 评论 -
【Leetcode】Leetcode66.加一
Leetcode66.加一题目:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。示例 2: 输入: [4,3,2,1] 输出: [4,3,...原创 2019-11-13 22:15:37 · 114 阅读 · 0 评论 -
Leetcode 58. 最后一个单词的长度
Leetcode 58. 最后一个单词的长度题目给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lengt...原创 2019-11-12 20:16:11 · 157 阅读 · 0 评论 -
Leetcode83.删除排序链表中的重复元素
Leetcode83.删除排序链表中的重复元素给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/...原创 2019-11-11 20:32:07 · 92 阅读 · 0 评论 -
Leetcode21.合并两个有序链表
Leetcode21.合并两个有序链表1. 问题描述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/me...原创 2019-11-08 20:09:04 · 139 阅读 · 0 评论 -
leetcode26. 删除排序数组中的重复项
26. 删除排序数组中的重复项给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素...原创 2019-11-07 09:32:12 · 87 阅读 · 0 评论 -
leetcode35.搜索插入位置
leetcode35.搜索插入位置题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,...原创 2019-11-06 09:37:06 · 95 阅读 · 0 评论 -
Leetcode.38报数
Leetcode.38报数报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1112112111112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) , ...原创 2019-11-04 22:20:20 · 73 阅读 · 0 评论