leetcode 2511 最多可以摧毁的敌人城堡数目
2511. 最多可以摧毁的敌人城堡数目 - 力扣(LeetCode)
思路
抽象出来就是求1和-1间最大连续0 的数量。
有两种情况,开始是1 结尾是-1,中间都是0;第二种情况开始是-1结尾是1,中间都是0;上边怎么保证终点和起点不一样呢?
1.当然可以分类讨论,代码会很复杂,判断很多,容易出错
- 使用 一个变量pre记录开始节点,变更当1或者-1 进来的时候,pre 更新为index,判断当前节点是否和pre 不相等,符合条件则更新res
1 | func captureForts(forts []int) int { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Lei Qi's Blog!
评论