![](https://img-blog.csdnimg.cn/20181117131922682.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
PAT
一些pat题目的java解决
zzzmj_
NYOJ主页
https://acm.nyist.edu.cn/JudgeOnline/profile.php?userid=Leida_%E6%9C%B1%E6%A8%A1%E5%81%A5
展开
-
PAT 甲级 1058 A+B in Hogwarts [Java实现]
1. 题意也是进制转换的题目两个数字相加,然后第二项是17进制,第三项是29进制2. 思路水题。注意最高位没有进位限制,一开始被这个坑了。3. 代码package adv1058;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** *...原创 2018-11-25 17:01:28 · 127 阅读 · 0 评论 -
PAT 甲级 1027 Colors in Mars [Java实现]
1. 题意将这3个数转成13进制2. 思路水题。注意00这个数字3. 代码package adv1027;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * @author zmj * @create 2018/11/25 */...原创 2018-11-25 16:16:17 · 149 阅读 · 0 评论 -
PAT 甲级 1103 Integer Factorization(30 分)Java实现
1. 题意给定正整数N、P、K,将N表示成K个正整数的P次方和N = n1^p + .. + nk^p, 可能有多种解,选择底数最大的解2. 思路搜索,然后剪支。注意,保存解的时候不能用LinkList这个数据结构很消耗内存,会超过内存限制要用ArrayList数组要开够,应该开400以上3. 代码package adv1103;import java.util.Arra...原创 2019-04-04 19:12:51 · 242 阅读 · 0 评论 -
PAT 甲级 Consecutive Factors(20分) Java实现
1. 题意一开始读错题了,以为是找出整数n中最长的连续因子序列其实是找出整数n中最长的连续因子序列,并且这个序列的乘积可以整除n2. 思路这道题比较容易,重要是读题3. 代码package adv1096;import java.util.Scanner;/** * @author zmj * @create 2019/4/3 */public class Main {...原创 2019-04-03 21:06:28 · 143 阅读 · 0 评论 -
PAT甲级JAVA题解汇总
github地址:https://github.com/zzzmj/pat-java原创 2019-04-03 18:56:37 · 1429 阅读 · 0 评论 -
PAT 甲级 1019 General Palindromic Number [Java实现]
1. 题意给你一个数字k,将它转为b进制转化后的数字如果是回文数输出Yes,不是就输出No最后一行输出这个转化后的数字2. 思路一开始想歪了=。=,想取巧,用了StringBuilder里的reserver方法直接翻转判断回文,但是是不可以的因为如果转为大于10进制的数字,我们得到的数字也会被翻转大概就是这样的效果假设输入9843789 99得到的会是01 41 63 12所...原创 2018-11-24 16:53:04 · 190 阅读 · 0 评论 -
PAT 甲级 1031 Hello World for U Java实现
1. 题意让你打印一个U型的图形这个形状要尽可能平整2. 思路这道题其实有坑点,我们如果想要这个U型尽量平整就得保证n1和n2+2尽可能相等,而不是n1和n2所以我们做除法操作的时候得拿len+2去除3. 代码package adv1031;import java.io.BufferedReader;import java.io.IOException;import jav...原创 2018-11-24 11:59:28 · 177 阅读 · 0 评论 -
PAT甲级 1006 Sign In and Sign Out Java实现
1. 题意每个人进出这个实验室,每行给出编号,进入时间,出去的时间求最早进去的,和最晚出来的2. 思路用Java做很方便,可以直接用字符串比较compareTo() 来比较时间的早晚3. 代码package adv1006;import java.io.BufferedReader;import java.io.IOException;import java.io.InputS...原创 2018-11-23 15:42:52 · 207 阅读 · 0 评论 -
PAT 甲级 1011 World Cup Betting Java实现
1. 题意其实题目已经给出解法了,只要求出每一场(也就是每一行)的最大值。然后按照给的公式(a × b × c × 65% − 1) × 22. 代码package adv1011;import java.util.Scanner;/** * @author zmj * @create 2018/11/23 */public class Main { public ...原创 2018-11-23 15:39:12 · 214 阅读 · 0 评论 -
PAT 1002 A+B for Polynomials (25 分)Java实现
1. 题意给两个多项式,把它们加起来样例分析:A多项式2 1 2.4 0 3.2 第一个2指得是2个非0系数项然后的两个数,1是项数,2.4是系数最后两个数,0是项数,3.2是系数所以就有f(x) = 2.4x + 3.2B多项式2 2 1.5 1 0.5f(x) = 1.5x² + 0.5x所以它们的和就是F(x) = 1.5x² + 2.9x + 3.2,然后我们先输出总...原创 2018-11-22 18:17:48 · 397 阅读 · 0 评论 -
PAT 1065 A+B and C (20 分)Java实现
题意:计算A+B是否大于C思路:用Java做很容易,可以直接用大数类,就不用模拟了~~代码:package adv1065;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.math.BigInteger;/** * @...原创 2018-11-22 16:45:30 · 134 阅读 · 0 评论 -
PAT 1046 Shortest Distance (20 分)Java实现
题目链接:Shortest Distance题意:给你N个出口,出口是环状的,告诉你出口之间的距离最后给出任意两个出口,求最短距离思路:这道题我一开始用遍历的方法做,向前遍历距离,向后遍历距离然后比较大小这样会超时,我们在输入数据的时候就保存好每个点到起始点距离最后查询只要O(1)的复杂度。。但是Java还是会卡最后一个测试点。代码:package adv1046;imp...原创 2018-11-22 12:10:38 · 241 阅读 · 0 评论 -
PAT 1042 Shuffling Machine (20 分)Java实现
题目链接:Shuffling Machine1. 题意题目意思就是按照给定的顺序洗牌比如说题目所给的五张牌样例S3, H5, C1, D13, J2洗牌顺序是{4, 2, 5, 3, 1}所以我们将S3移动到第四位H5移动到第二位C1移动到第五位D13移动到第三位J2移动到第一位得到的新次序是J2, H5, D13, S3, C1然后再洗一次得到的次数就是C1, H5, ...原创 2018-11-18 11:21:28 · 201 阅读 · 0 评论 -
PAT 乙级 1020 月饼 (25分)Java实现
原题链接:月饼1. 题意题意比较明了,就是让我们求最大的收益2. 思路这道题用Java写要注意两个地方输入的时候不能使用Scanner类,因为输入的数据比较多,使用Scanner输入会很慢,所以我们要用BufferedReader类,得到字符串后,再转为double型计算输出保留两位小数,Java的做法:String.format("%.2f", sum)3. 代码packag...原创 2018-11-17 14:57:38 · 1018 阅读 · 0 评论 -
1025 PAT Ranking Java版
原题链接:PAT Ranking1. 题意有n个考场,每个考场有k个学生,给出学生的准考证号和分数要求将所有学生按分数从高到底进行排名,分数相同的按准考证号排名依次输出学生的准考证号,总排名,考场号,所在考场排名2. 思路首先肯定将学生包装成学生类,将这些属性填入然后最关键的地方在于考场排名和总排名这里我使用的办法是对每个考场进行排序,得到学生的local_rank最后再将所有人...原创 2018-11-17 13:15:30 · 265 阅读 · 0 评论 -
L2-1 链表去重
1. 题目给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。输入格式:输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤105 ...原创 2019-03-27 11:45:23 · 420 阅读 · 0 评论