![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
算法
爱哭的毛毛虫好汉歌
这个作者很懒,什么都没留下…
展开
-
leetcode:反转链表 II
题目 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 题目链接:反转链表 II 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 思路和代码实现 //思路,双指针法。并且需要借助一个新的节点,pre节点表示待移动节点的前一个节点,cur表示移动节点, // next表示待移动节点的下一个节点,每次移动将n原创 2020-08-04 22:38:04 · 121 阅读 · 0 评论 -
LeetCode:环形链表,找出环形链表中环的第一个元素(链表)
题目 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 题目链接:环形链表II 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:tail connects to node index 1 解释:链表中有一个环,其尾部连接到第二个节点。 示例 2: 输入:head = [1原创 2020-07-27 21:56:42 · 205 阅读 · 0 评论 -
LeetCode:环形链表(链表)
题目 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 题目链接:环形链表 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点。 示例 2: 输入:head = [1,2], pos = 0 输出:true 解释:链表中有一个环,其尾部连接到第一个节点。 示例 3: 输入:head = [原创 2020-07-27 21:45:56 · 64 阅读 · 0 评论 -
LeetCode:删除排序数组中的重复项(数组)
题目 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 题目链接:删除排序数组中的重复项 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 示例 2: 给定 nums = [0,0,1,1,1,2,2,3,3,4],原创 2020-07-27 21:30:27 · 81 阅读 · 0 评论 -
LeetCode:删除排序数组中的重复项(数组)
题目 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 题目链接:删除排序数组中的重复项 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 示例 2: 给定 nums = [0,0,1,1,1,2,2,3,3,4],原创 2020-07-25 17:24:33 · 60 阅读 · 0 评论 -
LeetCode:最长连续递增子序列(数组)
题目 给定一个未经排序的整数数组,找到最长且连续的的递增序列,并返回该序列的长度。 题目链接:最长连续递增子序列 示例 1: 输入: [1,3,5,4,7] 输出: 3 解释: 最长连续递增序列是 [1,3,5], 长度为3。 尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。 示例 2: 输入: [2,2,2,2,2] 输出: 1 解释: 最长连续递增序列是 [2], 长度为1。 思路 标签:遍历 过程: count 为当前元素峰值,ans为最大峰值 初始化原创 2020-07-25 15:58:46 · 844 阅读 · 0 评论 -
LeetCode:高度检查器(数组)
题目 题目链接:高度检查器 学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。 请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。 注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。 示例: 输入:heights = [1,1,4,2,1,3] 输出:3 解释: 当前数组:[1,1,4,2,1,3] 目标数组:[1,1,1,2,3,4] 在下标 2 处(从 0 开始计数)出现 4 vs 1 ,所以我们必须移动这名学生。 在下标 4 处(从原创 2020-07-25 15:47:40 · 93 阅读 · 0 评论