宫水三叶の刷题日记
  • 首页
  • 归档
  • 标签
  • 关于
  • 友链
  •   
  •   

LC 1441. 用栈操作构建数组

题目描述这是 LeetCode 上的 1441. 用栈操作构建数组 ,难度为 中等。 给你一个数组 target 和一个整数 n。 每次迭代,需要从 list = { 1 , 2 , 3 ..., n } 中依次读取一个数字。 请使用下述操作来构建目标数组 target : "Push":从 list 中读取一个新元素, 并将其推入数组中。 "

2022-10-15
模拟 构造

LC 940. 不同的子序列 II

题目描述这是 LeetCode 上的 940. 不同的子序列 II ,难度为 困难。 给定一个字符串 s,计算 s 的 不同非空子序列 的个数。 因为结果可能很大,所以返回答案需要对 $10^9 + 7$ 取余 。 字符串的 子序列 是经由原字符串删除一些(也可能不删除)字符但不改变剩余字符相对位置的一个新字符串。 例如,"ace" 是 "abcde" 的一

2022-10-14
动态规划 序列 DP

LC 769. 最多能完成排序的块

题目描述这是 LeetCode 上的 769. 最多能完成排序的块 ,难度为 中等。 给定一个长度为 n 的整数数组 arr ,它表示在 $[0, n - 1]$ 范围内的整数的排列。 我们将 arr 分割成若干 块 (即分区),并对每个块单独排序。将它们连接起来后,使得连接的结果和按升序排序后的原数组相同。 返回数组能分成的最多块数量。 示例 1:1234567输入: arr = [4,3,2,

2022-10-13
模拟

LC 817. 链表组件

题目描述这是 LeetCode 上的 817. 链表组件 ,难度为 中等。 给定链表头结点 head,该链表上的每个结点都有一个 唯一的整型值 。同时给定列表 nums,该列表是上述链表中整型值的一个子集。 返回列表 nums 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 nums 中)构成的集合。 示例 1: 12345输入: head = [0,1,2,3],

2022-10-12
哈希表 模拟 链表

LC 1790. 仅执行一次字符串交换能否使两个字符串相等

题目描述这是 LeetCode 上的 1790. 仅执行一次字符串交换能否使两个字符串相等 ,难度为 简单。 给你长度相等的两个字符串 s1 和 s2 。一次 字符串交换 操作的步骤如下:选出某个字符串中的两个下标(不必不同),并交换这两个下标所对应的字符。 如果对 其中一个字符串 执行 最多一次字符串交换 就可以使两个字符串相等,返回 true ;否则,返回 false 。 示例 1:12345

2022-10-11
模拟

LC 801. 使序列递增的最小交换次数

题目描述这是 LeetCode 上的 801. 使序列递增的最小交换次数 ,难度为 困难。 我们有两个长度相等且不为空的整型数组 nums1 和 nums2。 在一次操作中,我们可以交换 $nums1[i]$ 和 $nums2[i]$ 的元素。 例如,如果 $nums1 = [1,2,3,8]$ ,$nums2 =[5,6,7,4]$ ,你可以交换 $i = 3$ 处的元素,得到 $nums1 =

2022-10-10
动态规划 状态机 DP

LC 215. 数组中的第K个最大元素

题目描述这是 LeetCode 上的 215. 数组中的第K个最大元素 ,难度为 中等。 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 $O(n)$ 的算法解决此问题。 示例 1:123输入: [3,2,1,5,6,4], k = 2输出: 5示例 2:123

2022-10-09
优先队列(堆) 二分 树状数组 快速选择

LC 856. 括号的分数

题目描述这是 LeetCode 上的 856. 括号的分数 ,难度为 中等。 给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: () 得 1 分。 AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。 (A) 得 2 * A 分,其中 A 是平衡括号字符串。 示例 1:123输入: "()"输出: 1示例 2:123输入: "(())&quot

2022-10-09
栈

LC 142. 环形链表 II

题目描述这是 LeetCode 上的 142. 环形链表 II ,难度为 中等。 给定一个链表的头节点 head,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该

2022-10-08
双指针 链表 快慢指针

LC 870. 优势洗牌

题目描述这是 LeetCode 上的 870. 优势洗牌 ,难度为 中等。 给定两个大小相等的数组 nums1 和 nums2,nums1 相对于 nums 的优势可以用满足 nums1[i] > nums2[i] 的索引 i 的数目来描述。 返回 nums1 的任意排列,使其相对于 nums2 的优势最大化。 示例 1:123输入:nums1 = [2,7,11,15], nums2 =

2022-10-08
哈希表 贪心 双指针 排序 红黑树

LC 927. 三等分

题目描述这是 LeetCode 上的 927. 三等分 ,难度为 困难。 给定一个由 0 和 1 组成的数组 arr,将数组分成 3 个非空的部分 ,使得所有这些部分表示相同的二进制值。 如果可以做到,请返回任何 [i, j],其中 i+1 < j,这样一来: arr[0], arr[1], ..., arr[i] 为第一部分; arr[i + 1], arr[i + 2], ...,

2022-10-06
模拟

LC 141. 环形链表

题目描述这是 LeetCode 上的 141. 环形链表 ,难度为 简单。 给你一个链表的头节点 head,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 $0$ 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。 如果链表中

2022-10-05
双指针 链表 快慢指针

LC 287. 寻找重复数

题目描述这是 LeetCode 上的 287. 寻找重复数 ,难度为 中等。 给定一个包含 n + 1 个整数的数组 nums,其数字都在 $[1, n]$ 范围内(包括 $1$ 和 $n$),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常量级 $O(1)$ 的额外空间。 示例 1:123输入:n

2022-10-05
桶排序 原地哈希

LC 811. 子域名访问计数

题目描述这是 LeetCode 上的 811. 子域名访问计数 ,难度为 中等。 网站域名 "discuss.leetcode.com" 由多个子域名组成。顶级域名为 "com" ,二级域名为 "leetcode.com" ,最低一级为 "discuss.leetcode.com" 。 当访问域名 "disc

2022-10-05
哈希表 模拟

LC 921. 使括号有效的最少添加

题目描述这是 LeetCode 上的 921. 使括号有效的最少添加 ,难度为 中等。 只有满足下面几点之一,括号字符串才是有效的: 它是一个空字符串,或者 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 它可以被写作 (A),其中 A 是有效字符串。 给定一个括号字符串 s ,移动 N 次,你就可以在字符串的任何位置插入一个括号。 例如,如果 s = &

2022-10-04
模拟
1…89101112…58

搜索

Hexo Fluid
总访问量 次 总访客数 人