博客
关于我
PAT——1040. 有几个PAT
阅读量:463 次
发布时间:2019-03-06

本文共 1275 字,大约阅读时间需要 4 分钟。

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

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

输入格式:

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

输出格式:

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

输入样例:

APPAPT

输出样例:

2
1 package com.hone.basical; 2  3 import java.util.Scanner; 4  5 /** 6  * 原题目:https://www.patest.cn/contests/pat-b-practise/1039 7  *  8  * @author Xia 理解题目 9  * 有两个结点运行超时10  * 思路来源:https://www.cnblogs.com/asinlzm/p/4440603.html11  */12 13 public class basicalLevel1040howManyPat {14     public static void main(String[] args) {15         Scanner in = new Scanner(System.in);16         char[] pat = in.nextLine().toCharArray();17         int len = pat.length;18         in.close();19         int numPat = 0, numAt = 0, num = 0;20         // 从后面往前面遍历21         while ((len--) > 0) {22             if (pat[len] == 'T') {23                 numAt++;24             } else if (pat[len] == 'A') {25                 numPat += numAt;26             } else {27                 num += numPat;28                 // 因为输出的结果具有周期性,所以可以提前处理,当参数大于指定的次数的时候29                 // 可以先取余数30                 if (num > 1000000007) {31                     num = num % 1000000007;32                 }33             }34         }35         System.out.println(num);36     }37 }

 

你可能感兴趣的文章
nodejs 的 path 模块详解
查看>>
NodeJS 的环境变量: 开发环境vs生产环境
查看>>
nodejs 读取xlsx文件内容
查看>>
nodejs 运行CMD命令
查看>>
Nodejs+Express+Mysql实现简单用户管理增删改查
查看>>
nodejs+nginx获取真实ip
查看>>
nodejs-mime类型
查看>>
NodeJs——(11)控制权转移next
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
nodejs下的express安装
查看>>
nodejs与javascript中的aes加密
查看>>
nodejs中Express 路由统一设置缓存的小技巧
查看>>
nodejs中express的使用
查看>>
Nodejs中搭建一个静态Web服务器,通过读取文件获取响应类型
查看>>
Nodejs中的fs模块的使用
查看>>
NodeJS使用淘宝npm镜像站的各种姿势
查看>>
NodeJs入门知识
查看>>
nodejs包管理工具对比:npm、Yarn、cnpm、npx
查看>>
NodeJs单元测试之 API性能测试
查看>>