题目 1: 字符串首部/尾部编排后最小字符串
给定一个字符串 word,可以将首部或尾部的部分字符编排顺序(只能选择开头或结尾的 k 位字符)。
目标是实现所有可能的编排后字符串,并返回按词典顺序最小的一个。
示例:
word = "dbaca"
输出 = "acabd"
处理复杂度:接受 O(n) 级别的时间处理算法
题目 2: MENTION 记录统计
根据时间排序的事件列表,统计被 mention 次数。
支持如下格式的操作:
"MESSAGE", timestamp, mentions
"OFFLINE", timestamp, id
(该用户在该时刻后 60 单位时间内为 inactive)
mention 规则包括:
- id 单个用户
- ALL 所有用户
- HERE 当前活跃用户
示例:
members = ["id42", "id158", "id23"]
events = [
["MESSAGE", "0", "ALL id158 id42"],
["OFFLINE", "1", "id158"],
["MESSAGE", "2", "id158 id158"],
["OFFLINE", "3", "id23"],
["MESSAGE", "60", "HERE id158 id42 id23"],
["MESSAGE", "61", "HERE"]
]
输出: ["id158=4", "id23=2", "id42=3"]
题目 3: 数线上符合条件的块接查询
无限的数线,支持两类操作:
[1, x]
:在坐标 x 处构建障碍[2, l, r]
:查询区间 [l, r] 是否正常(没有障碍)
示例:
operations = [
[1, 2],
[1, 6],
[2, 4, 21],
[2, 5, 2],
[2, 1, 1],
[2, 1, 2]
]
输出: "1010"