当前位置: 首页 > news >正文

2024快手面试算法题-生气传染

问题描述

思路分析

生气只会向后传播,最后一个生气的人一定是最长连续没有生气的人中的最后一个人,前提是前面得有一个人生气。

注意,一次只能传播一个人,比如示例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 - 洛谷

http://www.lryc.cn/news/473520.html

相关文章:

  • 组织如何防御日益增加的 API 攻击面
  • 如何防止U盘盗取电脑数据?
  • python爬虫抓取豆瓣数据教程
  • Mybatis 注意传递多种参数,不一定都有参数值,用xml如何写出查询语句
  • 【Windows】Redis 部署
  • 【经典】Vue中this指向问题??
  • Oracle数据泵(expdp)导入导出数据
  • 得物App 3D球鞋博物馆亮相两博会,打造沉浸式消费新体验
  • 深度学习中的迁移学习
  • 【深入浅出】深入浅出Bert(附面试题)
  • Docker-安装
  • 《盼归》
  • 第十九章 Vue组件之data函数
  • 【jvm】什么时候对象进入老年代
  • Vue.nextTick 使用指南:数据更新与 DOM 同步利器
  • 第三百零一节 Lucene教程 - Lucene索引文件
  • 动态规划 01背包(算法)
  • 使用常数指针作为函数参数
  • wps宏代码学习
  • libavdevice.so.58: cannot open shared object file: No such file ordirectory踩坑
  • Rust:Vec<u8> 与 [u8] 之间的转换
  • Leetcode 课程表
  • Java面试经典 150 题.P55. 跳跃游戏(009)
  • 登录的时候密码使用crypto-js加密解密
  • LLM大模型部署实战指南:部署简化流程
  • 24年10月Google Play政策更新通知
  • 玄机-应急响应- Linux入侵排查
  • 数据驱动业务中的BDS对账班牛返款表集成方案
  • 【Kubernetes实战】三、资源组件Namespace、Pod、Label、Deployment、Service概述。
  • 去中心化的模型训练