网站建设运营知乎,建网站资阳哪家强?,番禺厂家关键词优化,自己的电脑做网站服务器吗问题描述 思路分析
生气只会向后传播#xff0c;最后一个生气的人一定是最长连续没有生气的人中的最后一个人#xff0c;前提是前面得有一个人生气。
注意#xff0c;一次只能传播一个人#xff0c;比如示例1#xff0c;第一次只会传播给第一个P#xff0c;不会传播给第…问题描述 思路分析
生气只会向后传播最后一个生气的人一定是最长连续没有生气的人中的最后一个人前提是前面得有一个人生气。
注意一次只能传播一个人比如示例1第一次只会传播给第一个P不会传播给第二个P了解这个之后我们再将这个问题进行转化
最后一个P变生气是由离他最近的A传染的所以最后一个P变生气的时间就是最后一个P和离他最近的A的距离
所以我们只要记录离最后一个P最近的A的位置和最后一个P的位置两个位置相减就是答案 代码实现
public class KsInternShip {//思路 最后一个p变生气是由他前面最近的一个A引起的//所以最后一个p变成A的时间就是最后一个P和最近的A的距离public int lastToBeAngry(String mood) {if(mood null || mood.length() 1) {return -1;}int lastIndex 0, res 0, len mood.length();for(int i 0; i len; i) {if(mood.charAt(i) A) {lastIndex i;}else {res Math.max(res,i - lastIndex);}}return res;}
} 相似题目
洛谷的一道相似题Angry Students - 洛谷