PAT有几个pat

简介: 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位§,第4位(A),第6位(T);第二个PAT是第3位§,第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?

题目描述



字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位§,第4位(A),第6位(T);第二个PAT是第3位§,第4位(A),第6位(T)。


现给定字符串,问一共可以形成多少个PAT?


输入描述:


输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。


输出描述:


在一行中输出给定字符串中包含多少个PAT。由于结果可能比较大,只输出对1000000007取余数的结果。


输入例子:


APPAPT


输出例子:

2


刚开始想用动态规划,但是使用起来却复杂了,看了推荐答案后,自愧不如。核心求pat的组成方式是叠加的,所以每遇到T的时候,pat都要增加一次,然而增加的次数却是pa的组成总次数。


然而每次遇到a。pa的组合总次数就要加一次。增加的次数为到当前位置P的总次数。很巧妙的动态规划。


代码如下:(仅限牛客ac)


import java.util.Scanner;
public class pat30 {
  public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    String str=sc.next();
    char c[]=str.toCharArray();
    long p=0,pa=0,pat=0;
    for(int i=0;i<c.length;i++)
    {
       if(c[i]=='P') {
              p++;
          }else if(c[i]=='A') {
              pa+=p;
          }else {
              pat+=pa%1000000007;
          }
    }
    System.out.println(pat%1000000007);
}
}
目录
相关文章
|
6月前
|
前端开发 JavaScript 搜索推荐
解密: SPA 与 MPA
单页面应用(SPA)是一种Web应用架构,其中所有的内容和功能都包含在单一的HTML页面中。这种应用在用户与界面交互时不会进行全页刷新,而是通过动态更新页面上的局部内容来提供流畅的用户体验。多页面应用(MPA)是一种传统的Web应用程序架构,它由多个页面组成,每个页面都是一个独立的文档,通常包含自己的一套JavaScript、CSS等资源。当用户在应用中导航时,浏览器会重新加载整个页面和相关的资源。
|
5月前
|
机器学习/深度学习 存储 自然语言处理
SeACo-Paraformer
【6月更文挑战第14天】
184 6
|
3月前
|
XML Java 数据处理
深入了解 XPath
【8月更文挑战第22天】
60 0
|
3月前
|
SQL Java 数据库
什么是 PagingAndSortingRepository?
【8月更文挑战第21天】
60 0
|
6月前
|
机器学习/深度学习 人工智能 算法
PAI-TorchAcc
AI加速引擎PAI-TorchAcc
70 5
|
6月前
|
SQL 分布式计算 数据库
ApacheHudi使用问题汇总(二)
ApacheHudi使用问题汇总(二)
110 0
|
机器学习/深度学习 人工智能 文字识别
超全干货分享:什么是RPA?
7月28日,阿里云RPA4.0版本重磅发布,为企业数字化转型提供高效、安全、可靠的服务。RPA是一款软件机器人,能够模拟人的行为完成软件的交互,能够解决跨系统、跨平台,重复有规律的工作流程。时至今日,阿里云RPA已被超过50万各行各业的用户采用,可以跟踪到的执行总次数已突破120亿次,用户使用RPA获得了3-10倍的效率提升
11185 0
超全干货分享:什么是RPA?
|
Windows
cclientX,pageX,screenX等详解
clientX 观点:鼠标相对于WINDOWS的坐标。 这里这个WINDOWS是指我们能看见的浏览器大小。所以不可能超过显示器的大小,如 screen.width,screen.height
114 0
|
供应链 机器人
什么是RPA?
什么是RPA?
369 0