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

【 NO.1 统计数组中峰和谷的数量】

解题思路
先去重,再统计。

代码展示

【 NO.2 统计道路上的碰撞次数】

解题思路
从左到右遍历,维护左侧的车的状态,有两种:

若干个向右行驶的

停止

代码展示

【 NO.3 射箭比赛中的最大得分】

解题思路
枚举所有的情况即可,实际一共有 11 个得分位置,枚举 Bob 要在哪些位置得分。

贪心地,当 Bob 要在位置 i 得分时,只需要花费 aliceArrows[i] + 1 支箭。

最后多余的箭可以放到位置 0.

代码展示

【 NO.4 由单个字符重复的最长子字符串】

解题思路
灵活运用 TreeSet 即可,详见注释。

代码展示