【PAT乙级】题解-1040 有几个PAT

PAT乙级【Java题解合集】 学习完本专栏后,leetcode的简单题应该是没啥问题了,可以去做甲级的题目或者leetcode中等以上难度的题目继续修炼,后续博主会整理并更新算法修炼专栏,欢迎您的订阅!👉🏻算法修炼专栏👈🏻。 阅读详情

PAT :计算机程序设计能力考试:一个高校编程学习赛,内容基础,据说题目描述含糊不清,造成诸多理解错误。

第一观感是:输入输出样例极少,未给学生充分理解题目,提供更多辅助。

PAT 乙级:只涉及基础编程,最难到排序算法。适合基础语法学习阶段的同学。

问题描述

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

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

输入格式

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

输出格式

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

输入输出样例

输入样例输出样例
APPAPT2
PPPATAT9

样例解释:无

题解 1:TLE

思路分析:三层循环,暴力枚举,超时 TLE

#include<iostream>
using namespace std;

int main() {

	string s;
	getline(cin, s);

	int cnt = 0;
	// i 只负责找 'P'
	for(int i = 0; i < s.size(); i++) {
		if(s[i] != 'P') continue;
		// j 负责找 'A'
		for(int j = i + 1; j < s.size(); j++) {
			if(s[j] != 'A') continue;
			// k 负责找 'T'
			for(int k = j + 1; k < s.size(); k++) {
				if(s[k] == 'T') {
					cnt++;
                    cnt %= 1000000007;
				}
			}
		}
	}

	cout << cnt << endl;
	return 0;
}

题解 2

优化 题解 1 循环,将时间复杂度降到 O ( N 2 ) O(N^2) O(N2)

PAT乙级-题解(Java) 我的题解放在github仓库了(喜欢的话,记得star哈) 下面是汇总导航,如果你只想看其中某个题的话,点击题解直达。 乙级的题目每个题都是一个有趣的故事,引导你去思考解决问题的能力,不是单纯的刷题。然后只涉及数组,循环,判断,字符串等基础编程语言语法的知识,不会设计复杂的算法与数据结构。 一开始可能会有点吃力,正常,但是如果你全部刷完,leetcode上部分简单题对你来说是小case了。 甲级主要是算法与数据结构,乙级刷完了,也可刷甲级, 甲级的题目特别好,测试用例丰富 如果是急需找工作,面试的话刷lee 阅读详情

相关推荐

PAT (Basic Level) Practice 乙级1031-1040

1032 挖掘机技术哪家强由于这些题全是大一寒假刷的,部分还是c语言,部分的解题方法比较复杂,希望大家体谅。温馨提示:可以点目录跳转到相应题目哦。1031 查验身份证分数 15作者 CHEN, Yue单位 浙江大学一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M。

2301_80079117的博客 1303

PAT乙级真题1040 || 有几个PAT(详解,C/C++示例,测试点分析)

几个PAT 题目描述: 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以...

whenever5225的博客 1705

PAT 乙级 Java 合集

PAT乙级合集

A1sakaTaiga的博客 1482

1040 有几个PAT(25 分)

字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10​5​​,只包含 P、A、T 三种字母。 输出格式: 在一行中输出给定字符串中包含多少个 ...

C++养成记 802

PAT 乙级真题题解 java实现

虽然这次PAT考试的成绩并不算理想,但还是有了很多收获,特别是认识了一些很优秀的人以及他们平时怎么学习算法。 我参加的2019年冬季PAT乙级考试,这个时间PAT官网上的乙级真题有95道,我是使用java来做的(推荐使用c语言)。大部分题都是通过的,部分题目超出时间限制, 还有一部分只通过了部分用例。 以下是题目清单及我的通过情况: GitHub仓库 完全正确 1001 害死人不偿命的(3n...

wangbo818的博客 1791

【ROS学习笔记】8.话题消息(Message)的定义与使用

ROS学习笔记8——话题消息(Message)的定义与使用

takedachia的博客 9548

PTA1040 有几个PAT

字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。先找出所有T 的量,然后开始循环,时刻更新已经出现的P的量,并且将出现过的的T(排在A前)减掉,再遇到A就计算T的量和P的量相乘然后累加。3,开始重新遍历,记录P的值,减去T的值,在出现A时,累加sum=P的数目*A的数目(sum1**sum2)1,总次数sum在取余前的字节超出Int范围,应用long类型定义。

A_18726013346的博客 271

将CityScapes数据集转换为COCO格式的实例分割数据集

##¥##2019年结束前最后两小时,写出本年度最后一篇博客,不是博主没地方去跨年,实在是Coding乐趣无穷ahhhh ##¥## COCO数据集是研究实例分割的通用数据集,但是针对道路环境的数据较少,对于自动驾驶和移动机器人的应用并不适配。而提供道路环境的实例分割数据的数据集目前有KITTI、CityScapes、Apllo等,CityScapes算是应用较广,数据质量较高的一个,所以,本篇...

陆羽飞的博客 9940

PAT乙级1040 || 有几个PAT(C++)

第五次:(P) P=3;//这个P在第一个A后面,要遇到下一个A才能加进PA里面,这一步只有P++第六次:(T) P=3;//遇见第一个T,执行PAT+=num_of_PA。第四次:(A) P=2;//遇到第一个A,PA+=num_of_P。一个T能构建的PAT数量取决于在这个T之前PA的数量,即,每遇到一个T对应PAT的数量为。while (str.length()

Chen_Xi_Gao_Gao的博客 533

SOLIDWORKS2024安装卡顿?Edge WebView2 Runtime冲突的排查与修复

本文针对SOLIDWORKS 2024安装时setup.exe无响应或卡死的常见问题,深入剖析了其根本原因在于Microsoft Edge WebView2 Runtime的版本冲突或组件损坏。文章提供了三种经过验证的解决方案:一是通过运行安装包内swwi\data目录下的setup.exe直接绕过图形界面;二是彻底卸载并重装官方Edge WebView2 Runtime组件;三是进行系统级修复与排查。旨在帮助用户快速定位并解决安装障碍,顺利完成软件部署。

4k5l6j7h8的博客 289

分享通达信破解交易接口的使用!

那其实通达信破解交易接口的使用方法比较复杂,这里以MA均线指标为例子,只要理解了这些操作步骤,就可以很容易地使用其他指标包括自己编写的指标来进行交易。委托结果(包含委托编号), 需要分配 1024*1024 字节的空间。委托结果数组, 每项结果需要分配 1024*1024 字节的空间。0: 买入, 1: 卖出, 2: 融资买入, 3: 融券卖出,4: (市价委托)上海五档即成剩撤, 深圳五档即成剩撤。4: 买券还券, 5: 卖券还款, 6: 现券还券。0: 上海限价委托, 深圳限价委托。

1841085904的博客 2360

1040. 有几个PAT

字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。 现给定字符串,问一共可以形成多少个PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。 输出格式: 在一行中输出给定字符串中包含多少个PAT。由于结果可能比较大,只输出对10

信道者 633

PLC框架-1.3- 汇川PN伺服(3号报文)

本文以汇川IS620F伺服为例,详细介绍了FB_Servo_ToAxis功能块的应用方法。该功能块封装了MC_Home等轴控指令,实现使能、定位、点动、速度模式及回零等功能,支持转矩限制与显示,并具备行程统计和HMI单位自动切换特性。文章从硬件配置(PN网络连接、报文选择)、参数设置(控制模式、电子齿轮比),到软件实现(功能块调用、手动/自动控制逻辑)进行了系统说明,重点展示了绝对/相对定位、速度模式等典型应用场景的程序编写方法,为汇川伺服在Profinet网络下的工程应用提供了完整解决方案。

qq_34047402的博客 756

JavaScript PAT乙级题解 1040 有几个PAT

JavaScript PAT乙级题解 1040 有几个PAT

weixin_47925230的博客 568

Python爬虫实战:利用Playwright与异步技术高效抓取链家十万级二手房数据

在开始编写代码之前,我们首先需要为项目选择合适的技术栈。1. 传统方案:Requests + BeautifulSoup优点: 简单、轻量、学习成本低。直接发送HTTP请求获取HTML,然后解析。缺点: 对于大量由JavaScript动态渲染的内容无能为力。现代网站(包括链家)大量使用JS来加载数据和实现交互,简单的HTTP请求无法获取到完整的页面内容。此外,容易被基于IP或请求头特征的反爬机制拦截。2. 进阶方案:Selenium优点。

2201_76125261的博客 891

python中使用squarify包可视化treemap图:为treemap图添加标题并自定义标题的字体大小、自定义设置treemap中标签字体的大小、添加数值数值标签、自定义设置边框的色彩

python中使用squarify包可视化treemap图:treemap将分层数据显示为一组嵌套矩形自定义设置每一个数据格的颜色、添加数值数值标签、自定义设置边框的色彩、自定义设置边框线条的粗细、为treemap图添加标题并自定义标题的字体大小、自定义设置treemap中标签字体的大小

data+scenario+science+insight 1064

PAT乙级题解——1040 有几个PAT (25分)

字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。 现给定字符串,问一共可以形成多少个 PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10 ​5 ​​ ,只包含 P、A、T 三种字母。 输出格式: 在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。 输入样例: APPAPT 输出样例: 2

Matrix990的博客 245

Claude Code、Codex、Gemini CLI、OpenCode 和 OpenClaw 配置管理太麻烦?试试这个统一管理工具

还在为 Claude Code、Codex、Gemini CLI 等 AI CLI 配置烦恼?🤯 这款桌面工具支持五大助手统一管理,一键切换 50+ 服务商,MCP 和 Skills 集中管理 🛠️,跨平台支持,让你的 AI 编程更高效 ⚡

XiaoqiangClub的博客 914

PAT乙级-1040. 有几个PAT(25)-详解+代码

题目:PAT乙级 1040. 有几个PAT(25)字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?输入格式:输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。输出格式:在一行中输出给定字符串中包含多少个PAT。由于结果可...

水舞残枫的博客 553

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

PAT乙级题目索引(题目+解析+AC代码)

题目信息 分值 PAT 乙级 1001 害死人不偿命的(3n+1)猜想 15 PAT 乙级 1002 写出这个数 20 PAT 乙级 1003 我要通过! 20 PAT 乙级 1004 成绩排名 20 PAT 乙级 1005继续(3n+1)猜想 25 PAT 乙级 1006 换个格式输出整数 15 PAT 乙级 1007 素数...

漫浸天空的雨色的备忘录~ 3万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【最新合集】PAT乙级最优题解(题解+解析+代码)

乙级题目+详细题解,整理不易,喜欢的请点个赞哦~ pat乙级题解目录 编号 标题 题解 分类 1001 害死人不偿命的(3n+1)猜想 (15分) C++ 简单模拟 1002 写出这个数 (20分) C++ 常量数组 1003 我要通过! (20分) 待填坑 待填坑 1004 成绩排名 (20分) C++ 结构体 1005 继续(3n+1)猜想 (25分) C++ 打表 1006 换个格式输出整数 (15分) C语言 简单模拟 ...

weixin_43899069的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

PAT乙级-【题目+解答】汇总(100%原创/100%完成)

PAT乙级-【题目+解答】汇总 PAT乙级-AC全解汇总 PAT乙级解答集合

卷子的博客 4万+

PAT乙级 1040 有几个PAT

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

polarours的博客 479

【PAT】题解集(乙级)

题解集 - PAT (Basic Level) Practice (中文) - 乙级 一、题集 题目 题解传送门 1001 害死人不偿命的(3n+1)猜想 (15分) 传送门 1002 写出这个数 (20分) 传送门 1003 我要通过! (20分) 传送门 1004 成绩排名 (20分) 传送门 1005 继续(3n+1)猜想 (25分) 传送门 1006 ...

长生的梦呓 1794

Pat乙级 1040 有几个PAT

Pat乙级1040 有几个PAT思路代码 题目网址 https://pintia.cn/problem-sets/994805260223102976/problems/994805282389999616 思路 有点动规的意思,PA出现的次数等于之前PA出现的次数加上当前P的次数(当前字符为’A’时),同理PAT出现的次数等于之前PAT出现的次数加上当前AP出现的次数(当前字符为’T’时)。具体看代码理解。 代码 #include<iostream> #define theNum 100000

ax816的博客 174

【PAT乙级 1040】有几个PAT C++

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

m0_65154047的博客 447
上一篇: 【PAT乙级】题解-1042 字符统计
下一篇: 【PAT乙级】题解-1011 A+B 和 C
老坛算粉
博客等级 码龄12年 708粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老坛算粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值