看到我请叫我去敲代码
leetcode、牛客、ACM
kongds1999
学到老活到老,学不到老你还想活到老
展开
-
西西弗斯串
// 题目描述对任意一个数字串,求出它数位上的偶数个数、奇数个数、数位总数,然后拼接起来得到一个新的数字串(不需要去掉前导零),接着对这个新的数字串同样执行上面的步骤,最终一定会得到123,也就是著名的西西弗斯串。现有一个数字串n,可以对它执行零或正数次上面的步骤,请计算至少需要多少次可以得到西西弗斯串。// 输入描述一个数字串n(长度不超过10000)。// 输出描述输出让n变为西西弗斯串的步骤数。// 样例1// 输入:12345// 输出2// 解释12345 =&g.原创 2022-05-18 10:19:16 · 849 阅读 · 0 评论 -
算法初步--中间数
题目描述:给定由n个正整数组成的序列,问在序列中有多少个数,满足在它左边的所有数都比它小、且在它右边的所有数都比它大。输入描述:第一行一个整数n(1≤n≤105),表示序列中正整数的个数;第二行按顺序给出序列中的n个正整数(每个正整数均不超过106且互不相同)。输出描述:输出满足条件的整数个数。样例输入:51 2 6 5 8输出:3解释1的左边没有数,右边所有数都比1大,满足条件;2的左边所有数都比2小,右边所有数都比2大,满足条件;6的右边原创 2022-05-17 09:47:45 · 696 阅读 · 0 评论 -
算法初步--求01对个数
题目描述:给定由n个0或1组成的序列,我们把序列中从左至右(可不连续)存在的0、1称为01对,问在序列中有多少个01对。输入描述:第一行一个整数n(1≤n≤105),表示序列中0或1的个数;第二行按顺序给出序列中的n个数,每个数为0或1。输出描述:01对通过数15提交数24难度简单题目题解题目描述给定由n个0或1组成的序列,我们把序列中从左至右(可不连续)存在的0、1称为01对,问在序列中有多少个01对。输入描述第一行一个整数n(1≤n≤1原创 2022-05-17 08:33:29 · 286 阅读 · 0 评论 -
算法初步--集合求差(two pointers)
题目描述:给定一个包含n个正整数的集合S1,再给定一个包含m个正整数的集合S2,求两个集合的差集,即S1−S2。注:使用双指针法完成。输入描述:第一行两个正整数n、m(1≤n≤104,1≤m≤104),分别表示集合S1和S2的成员数;第二行按升序给出S1的n个正整数成员(每个正整数的大小均不超过104,且可能重复)。第三行按升序给出S2的m个正整数成员(每个正整数的大小均不超过104,且可能重复)。输出描述:按升序输出集合S1和S2的差集。结果之间用空格隔开,行末不允许有多余原创 2022-05-16 09:51:16 · 978 阅读 · 0 评论 -
算法初步--集合求差(two pointers)
题目描述:给定一个包含n个正整数的集合S1,再给定一个包含m个正整数的集合S2,求两个集合的差集,即S1−S2。注:使用双指针法完成。输入描述:第一行两个正整数n、m(1≤n≤104,1≤m≤104),分别表示集合S1和S2的成员数;第二行按升序给出S1的n个正整数成员(每个正整数的大小均不超过104,且互不相同)。第三行按升序给出S2的m个正整数成员(每个正整数的大小均不超过104,且互不相同)。输出描述:按升序输出集合S1和S2的差集。结果之间用空格隔开,行末不允许有多余原创 2022-05-16 09:43:53 · 449 阅读 · 0 评论 -
算法初步--集合求并(two pointers)
题目描述:给定一个包含n个正整数的集合S1,再给定一个包含m个正整数的集合S2,求两个集合的并集。注:使用双指针法完成。输入描述:第一行两个正整数n、m(1≤n≤104,1≤m≤104),分别表示集合S1和S2的成员数;第二行按升序给出S1的n个正整数成员(每个正整数的大小均不超过104,且互不相同)。第三行按升序给出S2的m个正整数成员(每个正整数的大小均不超过104,且互不相同)。输出描述:按升序输出集合S1和S2的并集。结果之间用空格隔开,行末不允许有多余的空格。样原创 2022-05-16 09:39:36 · 509 阅读 · 0 评论 -
算法初步--集合求交(two pointers)
题目描述:给定一个包含n个正整数的集合S1,再给定一个包含m个正整数的集合S2,求两个集合的交集。注:使用双指针法完成。输入描述:第一行两个正整数n、m(1≤n≤104,1≤m≤104),分别表示集合S1和S2的成员数;第二行按升序给出S1的n个正整数成员(每个正整数的大小均不超过104,且互不相同)。第三行按升序给出S2的m个正整数成员(每个正整数的大小均不超过104,且互不相同)。输出描述:按升序输出集合S1和S2的交集。结果之间用空格隔开,行末不允许有多余的空格。样原创 2022-05-16 09:36:29 · 473 阅读 · 0 评论 -
算法初步--使用归并排序(two pointers)
题目描述:输入n个正整数,使用归并排序算法将它们按从小到大的顺序进行排序。输入描述:第一行一个整数n(1≤n≤1000),表示需要输入的正整数的个数;第二行为用空格隔开的n个正整数(每个正整数均不超过1000)。输出描述:输出一行,表示输入的n个正整数。整数间用一个空格隔开,行末不允许有多余的空格。样例:输入:52 8 5 1 3输出:1 2 3 5 8归并排序的思路:二路归并思想,先将序列归并为n/2个组,组内单独排序,再将其两两...原创 2022-05-16 09:29:42 · 913 阅读 · 0 评论 -
算法初步--序列合并(two pointers)
题目描述:给定两个升序的正整数序列A和B,将它们合并成一个新的升序序列并输出。输入描述:第一行一个整数n、m(1≤n≤105、1≤m≤105),分别表示序列A和序列B的元素个数;第二行为用空格隔开的n个正整数(1≤每个元素≤106),表示升序序列A的所有元素;第三行为用空格隔开的m个正整数(1≤每个元素≤106),表示升序序列B的所有元素;输出描述:输出合并后的序列。整数间用一个空格隔开,行末不允许有多余的空格。样例:输入:4 31 5 6 82 6 9输出原创 2022-05-16 09:21:48 · 987 阅读 · 0 评论 -
算法初步--PAT1012 The best rank
To evaluate the performance of our first year CS majored students, we consider their grades of three courses only:C- C Programming Language,M- Mathematics (Calculus or Linear Algrbra), andE- English. At the mean time, we encourage students by emphas...原创 2022-05-15 10:09:09 · 202 阅读 · 0 评论 -
算法初步--结构体成员排序练习
题目描述:给定n个考生的姓名、分数,将这些考生按分数从高到低进行排序,分数相同时按姓名的字典序从小到大进行排序,输出排序后的结果。输入描述:第一行一个整数n(1≤n≤1000),表示考生个数;接下来n行,每行为一个考生的姓名name和分数score(name为仅由大小写字母组成的不超过15个字符的字符串,0≤score≤100),用空格隔开。数据确保不会出现相同的姓名。输出描述:输出排序后的结果,共n行,每行为一个考生的姓名和分数,用空格隔开,最后一项输出后不允许有多余的空原创 2022-05-06 10:27:57 · 427 阅读 · 0 评论 -
华为机试--字符串排序
描述:给定 n 个字符串,请对 n 个字符串按照字典序排列。数据范围: 1≤n≤1000,字符串长度满足 1≤len≤100输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。输出描述:数据输出n行,输出结果为按照字典序排列的字符串。示例1:输入:9captocatcardtwotooupboatboot输出:boatbootcapcardcat...原创 2022-04-24 17:15:44 · 1729 阅读 · 0 评论 -
华为机试--合并表记录
描述:数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。提示:0 <=index<= 111111111 <= value <= 100000输入描述:先输入键值对的个数n(1 <= n <= 500)接下来n行每行输入成对的index和value值,以空格隔开输出描述:输出合并后的键值对(多行)示例1:..原创 2022-04-24 16:10:49 · 656 阅读 · 0 评论 -
华为机试--字符统计
描述:输入一个只包含小写英文字母和数字的字符串,按照不同字符统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASCII码由小到大排序输出。数据范围:字符串长度满足 1≤len(str)≤1000输入描述:一个只包含小写英文字母和数字的字符串。输出描述:一个字符串,为不同字母出现次数的降序表示。若出现次数相同,则按ASCII码的升序输出。示例:输入:aaddccdc输出:cda说明:样例里,c和d出现3次,a出现2次,但c的ASCII码比d小,所..原创 2022-05-15 09:56:20 · 611 阅读 · 0 评论 -
递归调用--排列的穷举
题目:从数字1~n中选取r个数字并将其排列,输出所有的排列结果,顺序不同也视为不同的排列。其中n和r为输入的参数:例如:从数字1~5中选取3个数字时的排列为如下的60中情况:1 2 3, 1 2 4, 1 2 5, 1 3 2, 1 3 4, 1 3 5, 1 4 2, 1 4 3, 1 4 5, 1 5 2, 1 5 3, 1 5 4,2 1 3, 2 1 4, 2 1 5, 2 3 1, 2 3 4, 2 3 5, 2 4 1, 2 4 3, 2 4 5, 2 5 1, 2 5 3, 2原创 2022-04-22 20:02:55 · 432 阅读 · 0 评论 -
华为机试--高精度整数加法
描述:输入两个用字符串 str 表示的整数,求它们所表示的数之和。数据范围: 1≤len(str)≤10000输入描述:输入两个字符串。保证字符串只含有'0'~'9'字符输出描述:输出求和后的结果示例1:输入:9876543210 1234567890输出:11111111100解法:这逻辑,我自己看着都像有bug#include<stdio.h>#include<string.h>#...原创 2022-04-22 18:15:03 · 533 阅读 · 0 评论 -
华为机试--快速排序数组
描述:输入整型数组和排序标识,对其元素按照升序或降序进行排序数据范围: 1≤n≤1000,元素大小满足 0≤val≤100000输入描述:第一行输入数组元素个数第二行输入待排序的数组,每个数用空格隔开第三行输入一个整数0或1。0代表升序排序,1代表降序排序输出描述:输出排好序的数字示例1:输入:81 2 4 9 3 55 64 250输出:1 2 3 4 9 25 55 64示例2:输入:51 2 3 4 ...原创 2022-04-18 10:49:29 · 236 阅读 · 0 评论 -
华为机试--统计字符
描述:输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。数据范围:输入的字符串长度满足 1≤n≤1000输入描述:输入一行字符串,可以有空格输出描述:统计其中英文字符,空格字符,数字字符,其他字符的个数示例1:输入:1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][输出:2631012#include<stdio.h>#include<str.原创 2022-04-13 12:00:56 · 469 阅读 · 0 评论 -
华为机试--简单密码
【实验目的】掌握“ping”命令检查网络是否连通的方法 掌握“tracert”命令检查主机的路径原创 2022-04-12 19:01:21 · 789 阅读 · 0 评论 -
华为机试--字符个数统计
描述:编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次 例如,对于字符串 abaca 而言,有 a、b、c三种不同的字符,因此输出 3 。数据范围: 1≤n≤500输入描述:输入一行没有空格的字符串。输出描述:输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。示例1:输入:abc输出:3示例2:输入:aaa原创 2022-04-12 17:53:00 · 426 阅读 · 0 评论 -
华为机试-计算某字符出现次数
描述:写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)数据范围: 1 \le n \le 1000 \1≤n≤1000输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)示例:输入:ABCabcA输出:2#include<stdio.h>#define MAXSIZE 1000int ma原创 2022-04-11 09:39:40 · 356 阅读 · 0 评论 -
华为机试-字符串最后一个单词的长度
描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述输入一行,代表要计算的字符串,非空,长度小于5000。输出描述输出一个整数,表示输入字符串最后一个单词的长度示例:输入:hello nowcoder输出:8说明:最后一个单词为nowcoder,长度为8 #include<stdio.h>#include<string.h>#define MAXSIZE 5000int main(原创 2022-04-11 09:34:25 · 542 阅读 · 0 评论 -
华为机试-密码验证合格程序
描述密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度大于2的子串重复输入描述:一组或多组长度超过2的字符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG示例输入:021Abc9000021Abc9Abc1021ABC9000021$bc9000输出:OKNGNGOK代码:#include<iostream>#include<vector>#include<qu原创 2021-06-15 23:51:17 · 221 阅读 · 0 评论 -
华为机试-句子逆序
描述将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符输入描述:输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。输出描述:得到逆序的句子输入:I am a boy输出:boy a am I代码:#include<iostream>#include<vector>#include<string>u原创 2021-06-12 22:38:43 · 201 阅读 · 0 评论 -
华为机试:质数因子
描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )最后一个数后面也要有空格输入描述:输入一个long型整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。示例1输入:180输出:2 2 3 3 5#include<iostream>#include<cmath>using namespace std;bool isPrime(原创 2021-06-10 22:27:18 · 186 阅读 · 0 评论 -
华为机试-进制转换
描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。输入描述:输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据,请参考帖子https://www.nowcoder.com/discuss/276处理多组输入的问题。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。输入:0xA0xAA输出:10170第一种解法:字符串直接处理#include<iostream>#include<string>usi原创 2021-06-10 00:38:53 · 221 阅读 · 0 评论 -
华为机试-字符串子序列
判断字符串子序列给定字符串target和source,判断target是否为source的子序列。你可以认为target和source 中仅包含英文小写字母,字符串source可能会很长,长度~=500,000,而target是个短字符串,长度<=100。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串,例如,'abc’是’aebycd’的一个子序列,而’ayb’不是。请找出最后一个序列的起始位置。示例输入:abcabcaybec示例输出:原创 2021-06-09 23:34:39 · 4188 阅读 · 0 评论 -
华为机试-素数之积
**题目:**RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的难度,数据越大,安全系数越高,给定一个32位整数,请对其进行因数分解,找出是哪两个素数的乘积。#include<iostream>using namespace std;bool isPrime(int s) { if (s <= 1) return false; for (int i = 2; i <= sqrt(s); i++) { if (s % i == 0) return f.原创 2021-06-09 22:11:48 · 6894 阅读 · 3 评论 -
蓝桥--数列排序
问题描述: 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式 输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出3 4 6 8 9————————————————问题分析:按照题的要求...原创 2019-11-24 21:56:07 · 289 阅读 · 0 评论 -
蓝桥--十进制转十六机制
问题描述:十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式 输入包含一个...原创 2019-11-24 12:46:29 · 622 阅读 · 0 评论 -
蓝桥--杨辉三角形
问题描述:杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。...原创 2019-11-23 21:10:29 · 483 阅读 · 0 评论 -
蓝桥--字母图形
问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出ABCDE...原创 2019-11-23 00:17:25 · 589 阅读 · 0 评论 -
蓝桥--一步之遥
一步之遥从昏迷中醒来,小明发现自己被关在X星球的废矿车里。矿车停在平直的废弃的轨道上。他的面前是两个按钮,分别写着“F”和“B”。小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。按F,会前进97米。按B会后退127米。透过昏暗的灯光,小明看到自己前方1米远正好有个监控探头。他必须设法使得矿车正好停在摄像头的下方,才有机会争取同伴的援助。或许,通过多次操作F和B可以办到...原创 2019-11-21 17:30:49 · 170 阅读 · 0 评论 -
蓝桥--乘积尾零
题目:如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 5722 313...原创 2019-11-21 00:28:46 · 428 阅读 · 0 评论 -
蓝桥--分数输出
题目:1/1 + 1/2 + 1/4 + 1/8 + 1/16 + .... 每项是前一项的一半,如果一共有20项,求这个和是多少,结果用分数表示出来。问题分析:这个问题逻辑上一个20轮循环就能解决的问题,但是我们要考虑C或C++的处理精度问题,这道题规定的每一项是前一项的一般,这就简单啦,直接分子分母分开计算,因为是1/2倍轮番,所以直接可以用最后一项的分母作为分母,而此时20项的分子...原创 2019-11-20 23:22:41 · 219 阅读 · 0 评论 -
蓝桥--输出二进制数列
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是0000000001000100001100100请按从小到大的顺序输出这32种01串。问题分析:5位二进制序列一共有32种,每次输出5个连续二进制码,然后换行,从右往左每个位置0和1变换的频率分别为2,4,8,16,32,所以来构造循环体很容易得到这种循环:#include<io...原创 2019-11-20 18:32:27 · 357 阅读 · 0 评论 -
蓝桥--数列求值
给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求第 20190324 项的最后 4 位数字。> 问题分析:类似斐波那契数列的求值,首先我们按照菲波那切数列的方法写出算法但不要运行:#include<iostream>using namespace std;int main() { int a =...原创 2019-11-20 16:28:58 · 601 阅读 · 1 评论