题目:2511.最多可以摧毁的敌人城堡数量
题目来源:
leetcode题目,网址:2511. 最多可以摧毁的敌人城堡数目 - 力扣(LeetCode)
解题思路:
顺序遍历数组,记录上一个我军城堡和没有城堡的位置。当碰到空位置时,若上一次更新的值为我军城堡,记录较大的摧毁数;当碰到我军城堡时,若上一次更新的值为空位置,记录较大的摧毁数。
解题代码:
class Solution {public int captureForts(int[] forts) {int res=0;int lastEmpty=-1;int lastCommand=-1;for(int i=0;i<forts.length;i++){if(forts[i]==-1){if(lastCommand!=-1 && lastCommand>lastEmpty){res=Math.max(res,i-lastCommand-1);}lastEmpty=i;}else if(forts[i]==1){if(lastEmpty!=-1 && lastEmpty>lastCommand){res=Math.max(res,i-lastEmpty-1);}lastCommand=i;}}return res;}
}
总结:
注意不能越过我军城堡去往空地。
无官方题解。
fort 城堡、堡垒
capture 俘获,采集,拍摄