上岸算法LeetCode Weekly Contest 289解题报告

【 NO.1 计算字符串的数字和】

解题思路

签到题,循环处理即可。

代码展示

【 NO.2 完成所有任务需要的最少轮数】

解题思路

使用 Map 维护每种任务的数量,然后使用 dp 求解。

dp[i] 表示完成 i 个任务完成所需的最少轮数,于是有 dp[i] = min(dp[i-2], dp[i-3]) + 1

代码展示

【 NO.3 转角路径的乘积中最多能有几个尾随零】

解题思路

尾随 0 的个数其实就是 MIN(因数 2 的个数, 因数 5 的个数)

代码虽然很长,但大部分是重复的逻辑,详见注释。

代码展示




【 NO.4 相邻字符不同的最长路径】

解题思路

求出每个节点向下走能得到的最长路径,在每个节点的所有子节点中,挑出最长的和次长的连接,可以得到经过当前节点的最长路径。

代码展示