- 博客(69)
- 收藏
- 关注
原创 1004 成绩排名
1004 成绩排名 (20 分)读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… … …第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。输出格式:
2022-04-06 23:45:00 240
原创 pta 1003 我要通过
1003 我要通过!“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a、 b、 c 均或者是空字符串,或者
2022-04-06 23:16:05 311
转载 18966 两两配对差值最小
18966 两两配对差值最小Description拼多多2019秋招部分编程题给定一个长度为偶数的数组arr,将该数组中的数字两两配对并求和,在这些和中选出最大和最小值,请问该如何两两配对,才能让最大值和最小值的差值最小?输入格式一共2行输入。第一行为一个整数n,2<=n<=10000, 第二行为n个数,组成目标数组,每个数大于等于2,小于等于100。输出格式输出最小的差值。输入样例611 4 3 5 7 1输出样例3#include <iostream>
2022-04-06 17:18:58 465
原创 18935 贪吃的小Q
18935 贪吃的小QDescription腾讯2018春招技术类编程题小Q的父母要出差N天,走之前给小Q留下了M块巧克力。小Q决定每天吃的巧克力数量不少于前一天吃的一半,但是他又不想在父母回来之前的某一天没有巧克力吃,请问他第一天最多能吃多少块巧克力?输入格式一行包含两个正整数,表示父母出差的天数N(N<=50000)和巧克力的数量M(N<=M<=100000)输出格式输出一个数表示小Q第一天最多能吃多少块巧克力。输入样例3 7输出样例4思路:因为是不能在
2022-04-05 22:57:37 545
转载 18064 链表的有序合并
18064 链表的有序合并Description已知有两个链表a和b,结点类型相同,均包括一个int类型的数据。编程把两个链表合并成一个,结点按升序排列。#include “stdio.h”#include “malloc.h”#define LEN sizeof(struct DATA)struct DATA{long num;struct DATA *next;};struct DATA *create(int n){struct DATA *head=NULL,*p1=NUL
2022-04-05 16:45:10 512
原创 18062 二维数组每行中的最大值
18062 二维数组每行中的最大值Description输入一个4*4的二维整型数组,使用指针变量查找并输出二维整型数组中每一行的最大值。#include <stdio.h>void find(int a[][4]){int (*p)[4], *q, *max;for(){max=*p;for(){ } printf("%d\n", *max);}}int main(){int a[4][4],i,j;for(i=0; i<4; i++
2022-04-05 11:28:37 3668 1
原创 18060 删除空格
18060 删除空格Description用指针方法解决,输入一个字符串,删除字符串中所有空格后,输出字符串#include <stdio.h>void removeSpace(char *s){}int main(){char s[81];gets(s);removeSpace(s);printf(“%s”, s);return 0;}输入格式一行字符,以换行回车结束,最多不超过80个字符输出格式删除所有空格后输出输入样例abc 456输出样例
2022-04-05 10:33:51 360
原创 18059 学生成绩表
18059 学生成绩表Description输入10个学生,每个学生的数据包括学号、姓名、3门课的成绩。定义结构体类型表示学生类型,输入10个学生的数据,计算每个学生的平均成绩。按平均成绩由高到低输出所有学生信息,成绩相同时按学号从小到大输出。#include <stdio.h>struct data{};int main(){int i,j;struct data stu[10],tmp;for(i=0; i<10; i++){}for(i=0; i&l
2022-04-05 10:08:45 586
原创 18070 矩阵行交换或列交换
18070 矩阵行交换或列交换Description输入一个4*4矩阵,编写两个函数分别实现对二维数组元素的行与行进行交换,以及列与列进行交换#include <stdio.h>void swap(int *a, int *b){int temp;temp=*a;*a=*b;*b=temp;}void col(int a[][4], int i, int j){_______________________}void row(int a[][4], int i, int
2022-04-05 07:51:33 1267
原创 18068 选择排序
18068 选择排序Description输入10个整数,编写一个实现对数组进行选择排序的函数#include <stdio.h>int sort(int a[], int n){int i,j,k,tmp;for(i=0;i<n-1; i++){k=i;for()if() k=j;tmp=a[k];a[k]=a[i];a[i]=tmp;}}int main(){int a[10];int i;for(i=0; i<10; i++) scanf(
2022-04-04 23:29:23 313
原创 18066 元音字母
18066 元音字母Description编写一个函数,挑选一个字符串中的所有元音字母构成并返回一个新的字符串#include “stdio.h”void yuan(char *s,char *s2){}main(){char str[81], str2[81];gets(str);yuan(str,str2);printf(“%s”, str2);}输入格式由键盘输入一行字符,以’\n’结束输出格式输出新构成的字符串输入样例I am good输出样例Iaoo提示
2022-04-04 22:47:38 797
原创 18052 插入数据
18052 插入数据Description已经有一个按升序排列的数组,编写程序输入一个整数x,把x插入到数组中,使数组仍然保持升序。数组如下:2 3 5 7 11 13 17 23 29 31 34 71 79 97 103#include <stdio.h>int a[16]={2, 3, 5, 7, 11, 13, 17, 23, 29, 31, 34, 71, 79, 97, 103};void display(){int i;for(i=0; i<16; i++
2022-04-04 11:52:27 545
原创 18051 勾股数
18051 勾股数Description若三个正整数a、b、c,其中a<=b<=c,满足a2+b2=c2表示上标,称这三个数为“勾股数”,例如:3、4、5是勾股数。编程输出不大于n的所有勾股数。输入格式输入一个数(n<=100)输出格式输出所有勾股数,按第1个数字由小到大排列(若第1个数字相同,按第2个数字排)输入样例16输出样例3 4 55 12 136 8 109 12 15注意输出要求!因此大循环是从a开始,后面的每层初始 = a错误代码:输出是按照c从
2022-04-04 11:03:42 794
原创 18048 自由落体
18048 自由落体Description一个球从100米的高度自由落下,每次落地后弹起的原来高度的一半。计算并输出第n次落地时,共经过了多少米,第n次弹起的高度是多少?结果显示3位小数。输入格式从键盘输入一个数n(n>0)输出格式输出两个数,分别为共经过的米数和第n次弹起的高度,以一个空格分隔输入样例1输出样例100.000 50.000Notes:共经过多远包括弹起高度+落下高度注意double型,“%lf”注意输出格式(空格,保留小数)#include &l
2022-04-04 08:41:19 332
原创 18037 20秒后的时间
18037 20秒后的时间Description编写程序,输入三个整数变量hour(小时)、minute(分钟)、second(秒)代表一个时间,输出该时间20秒以后的时间。输入格式一行三个整数,分别代表小时、分钟、秒,中间使用冒号分隔输出格式输出一个时间,数字间用冒号分隔小时、分钟、秒均占两个数字位,不足位用0补足输入样例15:30:41输出样例15:31:01**注意:除了秒、分大于59要进位,还有时大于23要置0!分进位后别忘了%60**#include <i
2022-04-03 23:04:08 644
原创 19081 树上摘樱桃(★)
19081 树上摘樱桃(★)Description网易2021校招笔试-算法工程师(正式第一批)有一棵二叉树,树上的叶子节点定义为“樱桃”。现在需要找出树上有多少个满足如下子结构的“樱桃”串,即一串上刚好有两颗“樱桃”。简单说,就是某个节点的左右孩子都是叶子节点,即为一个串。比如如下的一棵树,红框标示的有两个符合要求的结构,答案就是2输入格式第一行两个正整数m, n,空格分开,分别代表总共有树上有多少个节点,和树上有多少条边,2<=m<=100, 1<=n<=100
2022-04-03 22:05:48 1533
转载 18959 二叉树的之字形遍历
18959 二叉树的之字形遍历Description题目来源:字节跳动测试题给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)例如:给定的二叉树是{3,9,20,15,7,#,#},该二叉树之字形层序遍历的结果是320 915 7输入格式一行字符串,只包含大写字母和#。此处采用完全二叉树的顺序存储结构。输出格式若干行,之字形输出树的结点,每一行输出树的一层。输入样例ABC###D##输出样例AC BD解题:用队列和栈实现
2022-04-03 16:21:15 452
转载 17263 计算二叉树的第k层中所有叶子结点个数
17263 计算二叉树的第k层中所有叶子结点个数Description二叉链表表示的二叉树:按先序次序输入二叉树中结点的值,'#'字符表示空树,构造二叉链表表示的二叉树T(该二叉树中的结点为单个字符并且无值重复的结点),编写算法完成:计算二叉树的第k层中所有叶子结点个数,根结点为第1层,根结点的孩子结点为第2层,依次类推。#include “stdio.h”#include “malloc.h”#define TRUE 1#define FALSE 0#define OK 1#defin
2022-04-03 12:12:18 845
转载 19072 数字字符串转化成IP地址
19072 数字字符串转化成IP地址Description百度面试题现在有一个只包含数字的字符串,将该字符串转化成IP地址的形式,返回所有可能的情况。例如:给出的字符串为"25525522135",返回[“255.255.22.135”, “255.255.221.35”].要求:空间复杂度 O(n),时间复杂度 O(n!)。注意:ip地址是由四段数字组成的数字序列,格式如 “x.x.x.x”,其中 x 的范围应当是 [0,255]。有情提示:类似这样的数字00010,只能划分为0.0.0
2022-04-03 11:09:38 692
转载 18943 小易爱回文
18943 小易爱回文Description网易2021校招笔试-音频算法工程师(提前批)小易得到了一个仅包含大小写英文字符的字符串,该字符串可能不是回文串。(“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串,“asds”就不是回文串。)小易可以在字符串尾部加入任意数量的任意字符,使其字符串变成回文串。现在请你编写一个程序,程序要能计算出小易可以得到的最短回文串。输入格式一行包括一个字符串S。S的长度小于1000。输出格式一行包括一个字符串,代表
2022-04-03 10:28:01 449
转载 18941 压缩算法
18941 压缩算法Description腾讯2020校园招聘-后台 第一题小Q想要给他的朋友发送一个神秘字符串,但是他发现字符串的过于长了,于是小Q发明了一种压缩算法对字符串中重复的部分进行了压缩,对于字符串中连续的m个相同字符串S将会压缩为m|S,例如字符串ABCABCABC将会被压缩为[3|ABC],现在小Q的同学收到了小Q发送过来的字符串,你能帮助他进行解压缩么?解题建议:(1)由于涉及到字符串的重复,尽量不要再使用C语言的字符数组,用C++的string类型会更容易实现。(2)多
2022-04-03 08:52:25 463
原创 18041 分期还款(加强版)
18041 分期还款(加强版)Description从银行贷款金额为d,准备每月还款额为p,月利率为r。请编写程序输入这三个数值,计算并输出多少个月能够还清贷款,输出时保留1位小数。如果无法还清,请输出“God”计算公式如下:输入格式三个数,分别为货款金额、每月还款和月利率,以空格分隔,均为非负数,其中d,p,r>=0输出格式需要还款的月份注意特殊情况!注意格式!头文件!#include <math.h> //log函数#include <iostream&
2022-04-02 23:33:23 1158
原创 OJ笔记 18054 输出不同的数
18054 输出不同的数Description输入10个整数,输出其中不同的数,即如果一个数出现了多次,只输出一次。输入格式输入10个整数输出格式依次输出不同的数字(一行一个,从上到下依次输出先出现的数)输入样例1 2 1 3 3 2 4 5 5 9输出样例123459解题思路:循环,输入一个一个字符就与前面的字符比较,相同的break;不同的输出#include <iostream>#include <queue>using namespa
2022-04-02 23:12:04 233
原创 OJ笔记 18940 最小循环节(KMP算法)
18940 最小循环节(KMP算法)Description给定一个字符串,请计算这个字符串最多是由多少个相同的子字符串重复连接而成的。如:acacac 最多有 3 个 ac 连接而成,bbbb最多由4个b连接而成,abc最多由1个abc连接而成。此问题需求出整个字符串的最大相同真前后缀,需使用kmp算法或字符串哈希法,具体解释可看下图或百度最小循环节。输入格式一个字符串,长度不超过100000。输出格式组成字符串的最多重复连接子串的个数。输入样例ababab输出样例3解题思路:
2022-04-02 23:08:55 334
原创 OJ笔记 18960 素数环
18960 素数环Description输入一个整数n,输出一个1至n组成的素数环。素数环指的是任意相邻两数的和均为素数。要求这个素数环的字典序最小。如果无法得到这样的素数环,输出-1。输入格式一个整数n (2<=n<=20)输出格式仅一行,满足条件的一个排列,两个数字间用空格分隔。如果无法得到这样的素数环,输出-1。输入样例14输出样例1 2 3 4 7 6 13 10 9 14 5 8 11 12递归判断填入的第i个数是否合法合法(未使用过&&
2022-04-02 18:06:14 558
原创 OJ笔记 18718 航行
18718 航行Description银河帝国正走向覆亡。为保留文明的种子,你需要驾驶飞船将一批“颛家”从帝国首都护送至银河边缘的基地。现在已知航线是一条直线,帝国首都为起点(坐标0),基地为终点(坐标L),在这条航线上有N个空间站可以补充飞船的能源。第i个空间站的坐标为ai,飞船停靠在第i个空间站必须花费bi个银河币,同时让你的飞船能量恢复为最大值M。出发前飞船的能量是满额的M,每一点能量都可以让飞船航行一个坐标单位。现在你已经通过募捐(榨篇)获得了S个银河币,请计算下飞船能否到达基地。输入
2022-04-02 16:47:32 510
原创 OJ笔记 19118 用队列计算杨辉三角
19118 用队列计算杨辉三角Description杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。杨辉三角与组合关系密切。第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。请输出杨辉三角的第n行,由于杨辉三角n较大时数值较大,会超出
2022-04-01 23:52:57 501
原创 OJ笔记 18720 迷宫问题 (最短路径)
18720 迷宫问题 (最短路径)Description迷宫是一个n*m的矩阵,玩家需要迷宫入口(坐标1,1)出发,寻找路径走到出口(n,m)。请判断玩家能否从迷宫中走出,如果能走出迷宫输出,输出最短的路径长度,否则输出-1。输入格式第一行两个整数n和m,代表n行m列。(1<=n,m<=10)下面n行每行m个字符,0代表可以通行,1代表不可以通行。输出格式如果能从迷宫走出,输出最短的路径长度,否则输出-1。输入样例8 8001000100010001000001100
2022-04-01 21:33:34 1054 1
原创 OJ笔记 18723 FBI树
18723 FBI树Description我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。一个长度为2^n的“01”串S可以构造出一棵FBI树T,递归的构造方法如下:1)T的根结点为R,其类型与串S的类型相同;2)若串S的长度大于1,将串S从中间分开,分为等长的左右子串S1和S2;由左子串S1构造R的左子树T1,由右子串S2构造R的右子树T2。现在给定一
2022-04-01 16:14:30 850
原创 OJ笔记 19116 丑数
19116 丑数Description“丑数”是指除了质因子2,3,5,不含其它质因子的正整数,例如由小到大前10个“丑数”为1, 2, 3, 4, 5, 6, 8, 9, 10, 12, …现要求编写一个程序,输出指定第几位的“丑数”。输入格式第一行为正整数T(T<=10000), 表示case的数目。此后T行,每行一个正整数 n (n <= 100000000).输出格式每一个n,输出第n个“丑数”输入样例3129输出样例1210并不用每次都尝试所有组
2022-04-01 11:15:01 1225
原创 数组中的指针
1065 数组中的指针指针:int *p :一级指针,表示p所指向的地址里面存放的是一个int类型的值 int **p:二级指针,表示p所指向的地址里面存放的是一个指向int类型的指针(即p指向的地址里面存放的是一个指向int的一级指针)例如:inti=10; //定义了一个整型变量int *p=&i; //定义了一个指针指向这个变量int **p1=&p; //定义了一个二级指针指向p指针那么取出10的值方式为:printf(“i=[%d]\n”,*p);printf
2022-04-01 09:04:19 568
原创 OJ笔记 18964 蛇形方阵
18964 蛇形方阵Description给出一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。从左上角填上 1 开始,顺时针方向依次填入数字。如同样例所示。注意每个数字有都会占用 3 个字符,前面使用空格补齐。输入格式一个整数n。输出格式n对应的蛇形方阵。输入样例4输出样例1 2 3 412 13 14 511 16 15 610 9 8 7提示注意输出格式!#include <iostream>#include <cstdi
2022-03-31 17:36:55 623
原创 OJ笔记 18719 填涂颜色
18719 填涂颜色Description由数字0组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向。现要求把闭合圈内的所有空间都填写成2.例如:6×6的方阵(n=6),涂色前和涂色后的方阵如下:涂色前:0 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 1涂色后:0 0 0 0 0 00 0 1 1 1 10 1 1 2 2 11 1 2 2 2 11 2 2 2 2
2022-03-31 15:37:14 281 1
原创 OJ笔记 18713 整数的分解
18713 整数的分解Description输出一个正整数n的分解形式。例如,当n=4时,输出:4=44=3+14=2+24=2+1+14=1+1+1+1共计 5 种形式。当n=7时,共有15种形式。当n=10时,共有42种形式。输入格式一个整数n(1<=n<=10)。输出格式n的全部分解形式,注意分解式中数字值大的排在前面,如第一个数字值相同,那么比较第二个数字。输入样例4输出样例4=44=3+14=2+24=2+1+14=1+1+1+1递归:
2022-03-31 11:38:29 693
原创 OJ笔记 18942 偏爱字母
18942 偏爱字母Description美团2021校招笔试-编程题(通用编程试题,第8场)小美喜欢字母E,讨厌字母F。在小美生日时,小团送了小美一个仅包含字母E和F的字符串,小美想从中选出一个包含字母E数量与字母F数量之差最大的子串。*子串:从字符串前面连续删去若干个字符,从后面连续删去若干个字符剩下的字符串(也可以一个都不删),例如abcab是fabcab的子串,而不是abcad的子串。我们将空串看作所有字符串的子串。输入格式第一行一个正整数n表示字符串的长度。第二行长度为n,且仅
2022-03-31 10:01:19 722
原创 OJ笔记 1046 计算高精度加法
1046 计算高精度加法Description由键盘输入两个位数很长的整数(一行一个,最多不超过80位),试计算并输出这两个数的和。输入样例1234567890123456789353534532453453453434534987654321098765324534534534534532输出样例1234567891111111110452299856987987987969066提示注意,一个普通的变量不能保存十多位长的整数#include <iostream>#inc
2022-03-30 23:21:12 956 1
原创 74-小学生算术
74-小学生算术很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。
2022-03-30 16:32:07 160
原创 OJ笔记 18726 查找最接近的元素(二分法)
18726 查找最接近的元素Description已知长度为n的非下降序列。现在有q个查询,每个查询给出一个指定值。输出序列中第一个大于等于给定值的元素下标,若不存在这样的元素,输出n+1。输入格式第一行一个整数n,为非降序列长度。1=<n<=100000。第二行n个整数,为非降序列元素。所有元素的大小均在int范围内。第三行包含一个整数q,为要询问的给定值个数。1=<q<=100000。接下来q行,每行一个整数,为要询问最接近元素的给定值。所有给定值的大小均在in
2022-03-30 15:05:37 1179
原创 洛谷P1996 约瑟夫问题
P1996 约瑟夫问题#include <iostream>#include<cstdio>#include <string.h>#include <queue>using namespace std;int main(){ int n,m,x; scanf("%d%d",&n,&m); queue<int> Q;//建立队列 int i = 1; //每个人编号入队
2022-03-30 11:10:29 180
原创 哥德巴赫猜想
PID131 / 哥德巴赫猜想(Easy)题目描述输入N,验证4~N所有偶数是否符合哥德巴赫猜想。(N为偶数)。如果一个数,例如10,则输出第一个加数相比其他解法最小的方案。如10=3+7=5+5,则10=5+5是错误答案。输入格式第一行N输出格式4=2+26=3+3……N=x+y#include <iostream>#include<cstdio>#include <math.h>#include <string.h>#inc
2022-03-30 10:25:04 475
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人