跳转至

三月 2025

Leetcode 632. 最小区间

最小区间

你有 k非递减排列的整数列表。找到一个最小区间,使得 k 个列表中的每个列表至少有一个数包含在其中。

我们定义如果 b-a < d-c 或者在 b-a == d-ca < c,则区间 [a,b][c,d] 小。

提示
  • nums.length == k
  • 1 <= k <= 3500
  • 1 <= nums[i].length <= 50
  • \(-10^5\) <= nums[i][j] <= \(10^5\)
  • nums[i] 按非递减顺序排列

Newcoder 线段重合

线段重合

每一个线段都有 startend 两个数据项,表示这条线段在 X 轴上从 start 位置开始到 end 位置结束。 给定一批线段,求所有重合区域中最多重合了几个线段,首尾相接的线段不算重合。 例如:线段 [1,2] 和线段 [2,3] 不重合。线段 [1,3] 和线段 [2,3] 重合

输入描述:

第一行一个数N,表示有N条线段 接下来N行每行2个数,表示线段起始和终止位置

输出描述:

输出一个数,表示同一个位置最多重合多少条线段

备注
  • \(N \le 10^4\)
  • \(1 \le start, end \le 10^5\)

Leetcode 1029. 两地调度

两地调度

公司计划面试 2n 人。给你一个数组 costs,其中 costs[i] = [aCosti, bCosti] 。第 i 人飞往 a 市的费用为 aCosti ,飞往 b 市的费用为 bCosti

返回将每个人都飞到 a 、b 中某座城市的最低费用,要求每个城市都有 n 人抵达。

提示
  • 2 * n == costs.length
  • 2 <= costs.length <= 100
  • costs.length 为偶数
  • 1 <= aCosti, bCosti <= 1000

Leetcode 514. 自由之路

自由之路

电子游戏“辐射4”中,任务 “通向自由” 要求玩家到达名为 “Freedom Trail Ring” 的金属表盘,并使用表盘拼写特定关键词才能开门。

给定一个字符串 ring,表示刻在外环上的编码;给定另一个字符串 key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。

最初,ring 的第一个字符与 12:00 方向对齐。您需要顺时针或逆时针旋转 ring 以使 key 的一个字符在 12:00 方向对齐,然后按下中心按钮,以此逐个拼写完 key 中的所有字符。

旋转 ring 拼出 key 字符 key[i] 的阶段中:

  1. 您可以将 ring 顺时针或逆时针旋转一个位置 ,计为1步。旋转的最终目的是将字符串 key 的一个字符与 12:00 方向对齐,并且这个字符必须等于字符 key
  2. 如果字符 key[i] 已经对齐到 12:00 方向,您需要按下中心按钮进行拼写,这也将算作 1 步。按完之后,您可以开始拼写 key 的下一个字符(下一阶段), 直至完成所有拼写。
提示
  • 1 <= ring.length, key.length <= 100
  • ringkey 只包含小写英文字母
  • 保证字符串 key 一定可以由字符串 ring 旋转拼出