【每日算法】LeetCode 86 —— 分隔链表(一百七十八)
题目内容给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置 示例示例 1: 输入:head = [1,4,3,2,5,2], x = 3输出:[1,2,2,4,3, ...
Read more
【每日算法】LeetCode 85 —— 最大矩形(一百七十七)
题目内容给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例示例 1: 输入:matrix = [[“1”,”0”,”1”,”0”,”0”],[“1”,”0”,”1”,”1”,”1”],[“1”,”1”,”1”,”1”,” ...
Read more
【每日算法】LeetCode 84 —— 柱状图中最大的矩形(一百七十六)
题目内容给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 ...
Read more
【每日算法】LeetCode 83 —— 删除排序链表中的重复元素(一百七十五)
题目内容存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。 返回同样按升序排列的结果链表。 示例示例 1: 输入:head = [1,1,2]输出:[1,2] 示例 2: 输入:head = [1,1,2,3,3]输出:[1,2,3] ...
Read more
【每日算法】LeetCode 82 —— 删除排序链表中的重复元素 II(一百七十四)
题目内容存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。 返回同样按升序排列的结果链表。 示例示例 1: 输入:head = [1,2,3,3,4,4,5]输出:[1,2,5] 示例 2: 输入:hea ...
Read more
【每日算法】LeetCode 81 —— 搜索旋转排序数组 II(一百七十三)
题目内容已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[ ...
Read more
【每日算法】LeetCode 80 —— 删除排序数组中的重复项 II(一百七十二)
题目内容给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引 ...
Read more
【每日算法】LeetCode 79 —— 单词搜索(一百七十一)
题目内容给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使 ...
Read more
【每日算法】LeetCode 78 —— 子集(一百七十)
题目内容给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例示例 1: 输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] ...
Read more
【每日算法】LeetCode 77 —— 组合(一百六十九)
题目内容给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 示例示例: 输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],] 题解本题考查深度优先搜索算法。 由于在n个数中依次选择k个,因此 ...
Read more