LeetCode Weekly Contest 第 276 场周赛解题报告

【 NO.1 将字符串拆分为若干长度为 k 的组】

解题思路

签到题。

代码展示

【 NO.2 得到目标值的最少行动次数】

解题思路

逆序贪心,优先用除法。

代码展示

【 NO.3 解决智力问题】

解题思路

动态规划,定义状态 f[i] 表示解决问题 i 时,前 i 个问题最多得到的分数

则有状态转移方程 f[i] = max(f[j]) + score[i], 其中 j 满足 forbid[j] + j < i

使用 TreeMap 维护 forbid[j] + j 即可

代码展示

【 NO.4 同时运行 N 台电脑的最长时间】

解题思路

二分答案,详见注释。

代码展示