题解
题解
做梦好啊
等下班
展开
-
12. 整数转罗马数字
题解func intToRoman(num int) string { res := "" roman := make(map[int]string) roman[1] = "I" roman[4] = "IV" roman[5] = "V" roman[9] = "IX" roman[10] = "X" roman[40] = "XL" roman[50] = "L" roman[90] = "XC" roman[100] = "C" roman[400] = "CD" rom原创 2022-05-05 14:29:04 · 325 阅读 · 0 评论 -
3. 无重复字符的最长子串
题解func lengthOfLongestSubstring(s string) int { lengthOfString := len(s) left,right := 0,0 ans := 0 if lengthOfString == 0 { return 0 } if lengthOfString == 1 { return 1 } for left=0; left < lengthOfStrin原创 2022-05-04 14:18:49 · 127 阅读 · 0 评论 -
5. 最长回文子串
暴力解func longestPalindrome(s string) string { if IsPalindrome(s) { return s } maxLength := 0 var ans string for width := 1; width < len(s); width++ { for i := 0; i < len(s)-width+1; i++ { temp := s[i : i+width] if IsPalindrome(temp) {原创 2022-05-04 14:18:17 · 134 阅读 · 0 评论 -
11. 盛最多水的容器
思路双指针每次移动较矮的那一边题解func maxArea(height []int) int { res := 0 left,right := 0, len(height) - 1 for left != right { temp := minHeight(height[left],height[right]) * (right - left) res = maxAns(res,temp) if height[left] &g原创 2022-05-04 14:17:46 · 136 阅读 · 0 评论 -
codeup 问题 B: 反序数
#include <bits/stdc++.h> using namespace std; ostream &sp(ostream &output); int to_num(vector<int> x)//vector 转 int { int temp = 0; for (int i = 0; i < x.size(); ++i) { temp = t...原创 2020-07-31 01:23:02 · 102 阅读 · 0 评论 -
codeup 问题 A: 分数矩阵
#include <bits/stdc++.h>using namespace std;ostream &sp(ostream &output);int main(){ int n; while (1) { scanf("%d", &n); if (n == 0) break; double ans = 0; double y = 1;原创 2020-07-31 14:42:21 · 129 阅读 · 0 评论 -
2020-12-26 社交集群
当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友。一个“社交集群”是指部分兴趣爱好相同的人的集合。你需要找出所有的社交集群。输入格式:输入在第一行给出一个正整数 N(≤1000),为社交网络平台注册的所有用户的人数。于是这些人从 1 到 N 编号。随后 N 行,每行按以下格式给出一个人的兴趣爱好列表:其中Ki(>0)是兴趣爱好的个数,hi[j]是第j个兴趣爱好的编号,为区间 [1, 1000] 内的整数。输出格式:首先在一行中输出不同的社交原创 2020-12-26 00:15:26 · 124 阅读 · 0 评论 -
哈利·波特的考试
哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现在哈利·波特的手里有一本教材,里面列出了所有的变形魔咒和能变的动物。老师允许他自己带一只动物去考场,要考察他把这只动物变成任意一只指定动物的本事。于是他来问原创 2020-12-02 00:12:17 · 382 阅读 · 0 评论 -
codeup 问题 E: 众数
用数组下标表示输入的数,对应的值表示出现个数max_element 可以很方便的算出区间最大值循环数组找到最大值对应的下标#include <bits/stdc++.h>using namespace std;ostream &sp(ostream &output);int main (){ int n; while(scanf("%d",&n) != EOF) { int a[11]; fill(a,原创 2020-07-31 01:44:46 · 109 阅读 · 0 评论 -
2020.8 复习 7-1 合并数组//PTA
开始c++的复习????#include <bits/stdc++.h>using namespace std;ostream &sp(ostream &output);int main(){ int numSizeA, numSizeB; set<int> ans; int temp; cin >> numSizeA; for (int i = 0; i < numSizeA; ++i) {原创 2020-08-01 13:08:19 · 324 阅读 · 0 评论 -
2020.8 复习 7-17 学生cpp成绩统计//PTA
题意完成“学生cpp成绩计算”之后,修改Person和Student类,各自增加两个无参构造函数。仍以Person类为基础,建立一个派生类Teacher,增加以下成员数据: int ID;//教师工号 Student stu[100];//学生数组 int count;//学生数目,最多不超过100 float cpp_average;//班级cpp平均分增加以下成员函数: Teacher类的参数化构造函数 void Add (Student & stu1)/原创 2020-08-09 14:38:32 · 1289 阅读 · 0 评论 -
2020-12-26 图着色问题
图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分别是无向图的顶点数、边数、以及颜色数。顶点和颜色都从1到V编号。随后E行,每行给出一条边的两个端点的编号。在图的信息给出之后,给出了一个正整数N(≤20),是待检原创 2020-12-28 01:21:48 · 301 阅读 · 0 评论 -
图着色问题
图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分别是无向图的顶点数、边数、以及颜色数。顶点和颜色都从1到V编号。随后E行,每行给出一条边的两个端点的编号。在图的信息给出之后,给出了一个正整数N(≤20),是待检原创 2021-05-06 15:27:24 · 3291 阅读 · 0 评论 -
2020-12-28 抢红包
没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。输入格式:输入第一行给出一个正整数N(≤104),即参与发红包和抢红包的总人数,则这些人从1到N编号。随后N行,第i行给出编号为i的人发红包的记录,格式如下:K**N1P1⋯NKP**K其中K(0≤K≤20)是发出去的红包个数,N**i是抢到红包的人的编号,P**i(>0)是其抢到的红包金额(以分为单位)。注意:对于同一个人发出的红包,每人最多只能抢1次,不能重复抢。输出格式:按照收入金额从高原创 2020-12-28 01:45:29 · 177 阅读 · 0 评论 -
2020.8 复习 7-6 敲笨钟//PTA
题意微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。现在给你一大堆古诗词句,要求你写个程序自动将压“ong”韵的句子糟改成“敲笨钟”。输入格式:输入首先在第一行给出一个不超过 2原创 2020-08-01 19:26:12 · 685 阅读 · 0 评论 -
codeup 问题 A: 守形数
没啥好说的#include <bits/stdc++.h>using namespace std;ostream &sp(ostream &output);bool judge(int n,int n_2){ while(n&&n_2) { if(n % 10 == n_2 % 10) { n /= 10; n_2 /= 10; }原创 2020-07-31 01:10:23 · 91 阅读 · 0 评论 -
2020.8 复习 7-27 一起来学翻译(链表20)//PTA
Cindy的电脑上安装了一个机器翻译软件,可以用来翻译英语文章。 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。假设内存中有M个单元,每单元能存放一个单词和译义。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过M-1,软件会将新单词存入原创 2020-08-14 23:04:05 · 186 阅读 · 0 评论 -
2020.8 复习 7-5 2018Final简单字符串string处理(三人行)//PTA
思路:一开始读错题意了,以为是判断这个单词在句子中出现的次数//太蠢了???? 其实是判断给出单词的字母在句子中出现的次数我们可以用==set==保存输入的单词的每个字母用set可以保证没有重复字母,避免超时一定要把输入的单词爷全都转成小写(全都大写也行,我是写了小写)一开始就是没有全部转小写然后只过了两个点对句子进行处理,把每个句子都转成小写用两个循环对前20和后20个字母进行判断#include <bits/stdc++.h>using namespace原创 2020-08-01 17:51:52 · 1055 阅读 · 0 评论 -
旅游规划
有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路的条数;S是出发地的城市编号;D是目的地的城市编号。随后的M行中,每行给出一条高速公路的信息,分别是:城市1、城市2、高速公路长度、收费额,中原创 2020-12-02 00:12:10 · 130 阅读 · 0 评论 -
2020.8 复习 7-7 友元函数 //PTA
题意C++考试正在进行。请设计一个学生类student,学号、本次考试成绩是其私有数据成员,同时有一个计算本次考试平均成绩的友元函数 double average(student *p,int count)以上类名和友元函数的形式,均须按照题目要求,不得修改。输入是 学号([00001,99999])和成绩,以0结束。(不超过100个学生)输出是平均成绩。输入样例:10001 9010002 930输出样例:91.5做完才发现题目说不能改函数形式,算了算了~#include &原创 2020-08-01 22:10:42 · 1029 阅读 · 2 评论 -
2020.8 复习 7-19 车辆选择(继承)//PTA
题意有一个汽车类vehicle,它具有一个需传递参数的构造函数,汽车类vehicle中的数据成员为: 车轮个数wheels和车重weight放在保护段中,汽车类vehicle中的公有成员函数为:get_wheels()(返回车轮个数的值)、get_weight()(返回车重的值)、wheel_load()(返回每个轮胎的载重量的值:weight/wheels)、print()(输出车轮的个数和车重的公斤数);小车类car是vehicle类的派生类,它具有一个需传递参数的构造函数,小车类car中的私有数据原创 2020-08-09 14:46:09 · 552 阅读 · 0 评论 -
2020.8 复习 7-9 数据的间距问题 //PTA
复数类Complex有两个数据成员:a和b, 分别代表复数的实部和虚部,并有若干构造函数和一个重载-(减号,用于计算两个复数的距离)的成员函数。 要求设计一个函数模板template < class T >double dist(T a, T b)对int,float,Complex或者其他类型的数据,返回两个数据的间距。以上类名和函数模板的形式,均须按照题目要求,不得修改输入格式:每一行为一个操作,每行的第一个数字为元素类型,1为整型元素,2为浮点型元素,3为Complex类型,若原创 2020-08-15 19:09:19 · 305 阅读 · 0 评论 -
codeup 问题 A: 求第k大数
codeup 问题 A: 求第k大数emmm复习了下STL然后投机取巧用set写了一下,仅参考。#include <bits/stdc++.h>using namespace std;int main(){ int n, m; while (cin >> n >> m) { multiset<int> b; int x; for (int i = 0; i < n; ++i原创 2020-07-29 20:54:38 · 133 阅读 · 0 评论 -
2020.8 复习 7-13 复数类的运算 //PTA
题意根据以下代码段完善 ?? 处内容及程序内容,以实现规定的输出。class Complex{ public: Complex(double r=0, double i=0):real(r), imag(i){ } Complex operator+( ?? ) const;//重载双目运算符'+' Complex operator-=( ?? ); //重载双目运算符'-=' friend Complex operator-( ?? );//重载双目运算符'-' void Di原创 2020-08-04 00:47:35 · 985 阅读 · 0 评论 -
codeup 问题 F: 计算两个矩阵的乘积
#include <bits/stdc++.h>using namespace std;ostream &sp(ostream &output);int main (){ int x; while(scanf("%d",&x) != EOF) { int a[2][3]{0},b[3][2]{0},c[2][2]{0}; a[0][0] = x; for(int i = 0; i < 2原创 2020-07-31 13:41:18 · 112 阅读 · 0 评论 -
2020.8 复习7-25 小黄与研究生会 //PTA
福州大学研究生院怡山的同学们为了在国家对抗新冠疫情期间献出自己的一份力量,他们决定为奋战在一线的医护人员送去了演出。小黄作为研究生协会的会长,他让每位男同学均带去了若干只猫或狗去表演节目,而小李是研究生会的副会长,她让每位女同学唱歌或者跳舞。去医院前,每位同学都事先预计了表演要持续的时间。不过,在献爱心时,他们都不愿意输给同学,一旦发现自己的节目预期持续时间短于已经表演过的同类节目的最长时间,则会临时延长表演时间,至同类节目的最长时间。精彩的表演过程被全程录下来,每个节目一段,医护人员们会不断地点播重放这原创 2020-08-16 00:25:09 · 277 阅读 · 0 评论 -
2020.8 复习 7-4 队列操作//PTA
对不起,偷个懒直接用queue了????#include <bits/stdc++.h>using namespace std;int main(){ int n, op; cin >> n; queue<long long int> q; long long int input; while (n--) { cin >> op; switch (op) {原创 2020-08-01 16:55:14 · 291 阅读 · 0 评论 -
2020.8 复习 7-10 求两点之间距离//PTA
题意定义一个Point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数。 定义一个函数Distance(), 用于求两点之间的距离。输入格式:输入有两行: 第一行是第一个点的x坐标和y坐标; 第二行是第二个点的x坐标和y坐标。输出格式:输出两个点之间的距离,保留两位小数。输入样例:0 9 3 -4输出样例:13.34#include <bits/stdc++.h>using namespace std;class Point{private原创 2020-08-02 00:20:04 · 873 阅读 · 0 评论 -
2020.8 复习 7-2 计算成绩//PTA
#include <bits/stdc++.h>using namespace std;class Student{private: string name; string id; double scoreCpp, scoreEng, scoreMath; double all = 0, ave = 0;public: Student() {} ~Student() {} Student(string a, string b,原创 2020-08-01 13:17:05 · 244 阅读 · 0 评论 -
2020.8 复习 7-16 学生CPP成绩计算 //PTA
7-16 学生CPP成绩计算 (30分)题意给出下面的人员基类框架:class Person {protected: string name; int age;public: Person(); Person (string p_name, int p_age); void display () {cout<<name<<“:”<<age<<endl;}};建立一个派生类student,增原创 2020-08-09 14:20:13 · 835 阅读 · 0 评论 -
2020-12-27 特殊堆栈
堆栈是一种经典的后进先出的线性结构,相关的操作主要有“入栈”(在堆栈顶插入一个元素)和“出栈”(将栈顶元素返回并从堆栈中删除)。本题要求你实现另一个附加的操作:“取中值”——即返回所有堆栈中元素键值的中值。给定 N 个元素,如果 N 是偶数,则中值定义为第 N/2 小元;若是奇数,则为第 (N+1)/2 小元。输入格式:输入的第一行是正整数 N(≤105)。随后 N 行,每行给出一句指令,为以下 3 种之一:Push keyPopPeekMedian其中 key 是不超过 105 的正整数;P原创 2020-12-28 01:21:39 · 189 阅读 · 0 评论 -
PAT 1019 数字黑洞
基本思路:输入数字只有4位先把int类型➡️vector类型如果vector.size() < 4,补0两个sort排序vector➡️int#include <bits/stdc++.h>using namespace std;ostream &sp(ostream &output);int to_num(vector<int> x)//vector 转 int{ int temp = 0; for (int i = 0原创 2020-07-31 01:01:42 · 92 阅读 · 1 评论 -
codeup 问题 A: Least Common Multiple
比较麻烦的写法#include <bits/stdc++.h>using namespace std;int gcd(int a, int b){ if (b == 0) return a; else return gcd(b, a % b);}int main(){ int n; while(cin>>n) { while(n--) { st原创 2020-07-31 14:23:58 · 129 阅读 · 0 评论 -
2020.8 复习 7-8 计算高考状元//PTA
题意高考成绩已经公布,大家正在填报志愿。设计一个学生类student,四门学科成绩是其私有成员,分别是语文、数学、英语、综合合。有个计算高考状元的函数是其友元函数,其形式是 student top(const student *p, int count) 。以上类名和友元函数的形式,均须按照题目要求,不得修改。输入是姓名 和 四科成绩,以0结束。 (不超过100个学生) 输出是状元的总分。输入样例:Alice 105 107 107 230Bob 112 120 120 2500输出样原创 2020-08-01 22:40:57 · 674 阅读 · 0 评论 -
2020.8 复习 7-14 点的派生//PTA
题意设计一个名为Point的点类和一个名为Rectangle的矩形类。点类的属性是整型的x和y坐标。矩形类是从点类派生的,点坐标为矩形的左下角的点坐标,并增加两个整型属性,分别是长(X方向)和高(Y方向)。同时还有获取(并计算)右上角点的成员函数getRightUpPoint()。要求设计实现这两个类,并且矩形类还要实现带参数的构造函数,以及拷贝构造函数。从输入读取数据构造一个矩形对象R1,使用拷贝构造函数构造矩形对象变量名为R2,进而调用R2的getRightUpPoint()得到右上角坐标,然后输出该原创 2020-08-06 22:52:46 · 331 阅读 · 0 评论 -
2020.8 复习 7-11 分钟秒钟的时间相减 //PTA
题意定义一个时间类,分钟和秒钟是其两个私有成员数据。输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计算这两个时间相隔多少秒钟。说明:这两个时间在同一小时之内,且采用60分钟60秒钟的计时分式,即从00:00-59:59。输入格式测试输入包含若干测试用例,每个测试用例占一行。每个测试用例包括四个数,每个数之间用空格间隔,每个数都由两位数字组成,第一个数和第二个数分别表示起始时间的分钟和秒钟,第三个数和第四个数分别表示结束时间的分钟和秒钟。当读入一个测试用例是00 00原创 2020-08-04 00:31:37 · 613 阅读 · 0 评论 -
2020.8 复习 7-3 复数的实部和虚部//PTA
注:输出示例多了两个换行,实际上是没有的,刚开始因为这样一直格式错误。思路:实部为0虚部为0输入0#include <bits/stdc++.h>using namespace std;ostream &sp(ostream &output);class Complex{private: string real, imag; string str;public: Complex() {} Complex(string原创 2020-08-01 14:14:48 · 756 阅读 · 4 评论 -
2020-12-28 出栈序列的合法性
给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, …, N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 M=5、N=7,则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 },但不可能得到{ 3, 2, 1, 7, 5, 6, 4 }。输入格式:输入第一行给出 3 个不超过 1000 的正整数:M(堆栈最大容量)、N(入栈元素个数)、K(待检查的出栈序列个数)。最后 K 行,每行给出 N 个数字的出栈序列。所有同行数字以空格间隔。输出格式:对每一原创 2020-12-28 01:21:07 · 170 阅读 · 0 评论