Simple Practice
无情的搬砖机器
不求甚解
展开
-
1.2.2 Sum of Consecutive Prime Numbers
描述:一个正整数可以表示为一个或者多个连续素数的和。比如 53 有两种表示方法 53 和 5+7+11+13+17,但是 20 的 7+13 就不能满足条件,因为7和13并不是连续的素数。输入:输入一个正整数序列,每个数一行,在2-10000之间取值。输入结束以0表示输出:输出的每一行对应输入的每一行,除了最后的0.输出的每一行,对于一个输入的正整数,给出连续素数的和的表示法。输出中没有其...转载 2018-10-17 21:17:12 · 423 阅读 · 0 评论 -
输入排序字母做判据
输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正整数A,B,当C为'Q'的时候, 表示这是一条询...原创 2019-03-13 18:29:53 · 244 阅读 · 0 评论 -
输入一个数字求位数并逆序输出
输入一个数字,计算是几位数,然后逆序输出,中间带空格输入描述:1234输出描述:第一行表示输入数字的位数第一行 :4第二行:4 3 2 1输入:-1234第一行:4第二行:4 3 2 -1一、统计位数的方法方法1:(int)log10(abs(num))+1,推荐使用方法一方法2:定义外部变量count = 1;num/=10!=0;count+...转载 2019-03-26 16:33:50 · 6163 阅读 · 0 评论 -
字符串中数字子串求和问题
输入:ab34c57ddo输出:91输入:-1ab--2c78输出:79说明:奇数个‘-’表示负号,偶数个‘-’表示正号下面这个思路又麻烦又复杂,还只能实现正号的操作,愚蠢至极,记录一下岂不也快哉~下面这个方法将字符串遍历一次,将找到连续的数字字符串存放到vector<int> sub中,然后再将所有的sub存放到v中,所以最后v存放的是vector,每...转载 2019-03-26 23:07:46 · 1710 阅读 · 0 评论 -
判断字符串中是否存在字串
来源:https://blog.csdn.net/nibiebiwo/article/details/54668623s.find()函数,如果找到的话,就会返回该字串的位置,否则返回的是string::npos.#include<iostream>#include<string>#include<vector>using namespace...转载 2019-04-14 00:12:52 · 2228 阅读 · 0 评论 -
字符串缩写
字符串长度小于等于4个不缩写,大于等于四个按照字典序缩写样例:输入:abcd输出:abcd输入:abcdefgOPQRST输出:a-gO-T输入:abchijkl输出:abch#include<iostream>#include<string>using namespace std;int main() { string ...原创 2019-08-06 10:09:16 · 1908 阅读 · 1 评论 -
将数字转换为中文大写(缩写)
这个题目看似很简单,但是搞了好久没有搞出来,也不知道是否全部AC,记录一下将阿拉伯数字转换成中文大写(缩写)注意用语习惯:“壹贰叁肆伍陆柒捌玖拾零佰仟万亿” 对应 “1234567890SBQWY”输入:123输出:1B2S3输入:123456输出:1S2W3Q4B5S6方法一、将输入当作数字处理思路:main{1、分别准备两个数组: v_num...原创 2019-08-10 10:56:34 · 2883 阅读 · 0 评论 -
24点运算
计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*),除(/)四种运算法则计算得到整数24,本问题中,扑克牌通过如下字符或者字符串表示,其中,小写joker表示小王,大写JOKER表示大王:345678910JQKA2jokerJOKER本程序要求...转载 2019-09-07 16:27:33 · 4671 阅读 · 0 评论 -
求最大公约数
辗转相除法#include<iostream>using namespace std;int measure(int x, int y){ //辗转相除法 int z = y; while (x%y != 0) { z = x % y;//如果余数不为0,则更新x和y继续执行 x = y; y = z; } return z;}int main...转载 2019-09-09 11:40:48 · 172 阅读 · 0 评论 -
字符串中满足种类为k的最长子串
暴力通过55%使用set存放(过滤相同的元素)访问过的元素判断set中个数,如果大于k那么更新当前元素#include<iostream>#include<string>#include<vector>#include<set>using namespace std;int process(string str, in...原创 2019-09-09 21:30:04 · 405 阅读 · 0 评论 -
统计字符串出现次数重排输出
参考连接:https://blog.csdn.net/qq_34563932/article/details/79905124描述:将输入的字符串出现的次数统计并打印,最后重新输出,输出格式参考样例样例:输入:aabbcddd输出:a:2b:2c:1d:3abcdabdd统计字符串次数:主要使用SL的map会很快实现,具体参考https://bl...转载 2019-03-25 16:46:23 · 1943 阅读 · 0 评论 -
二分查找
要求:数组有序递归方式:判断中点是否和target相等,是直接返回中点索引。否则,如果比target大,则在左侧递归,否则在右侧递归循环方式:判断中点是否和target相等,是直接返回中点索引。否则,如果比target大,更新右右边界,否则更新左边界algorithm中sort对数组排序的用法:sort(p,p+n),p数组名,n数组长度递归方式:int binary_...转载 2019-03-24 19:12:13 · 142 阅读 · 0 评论 -
输出最长数字串
输入:123ab12345abcdedf11234566输出:111234566输出最长数字串思路,准备一个vector<vector<int>>容器,将连续的字串存放到vector<int>中,最后输出vector<int>最长的一个即可需要注意的是:① 不要忘记最后一个vector<int>,特别地使用一个...原创 2019-03-24 18:20:04 · 589 阅读 · 0 评论 -
1.2.1 处理多组测试数据
多组数据输入输出测试:输入:输入包括多组测试数据。每组数据包括一行,给出2到15个两两不同且范围在[0,100)的正整数。每一行后面最后一个数是0,表示这一行的结束。输入的最后一行只包括一个整数-1,这行表示输入数据的结束,不用进行处理。输出:对每组输入数据,输出一行,给出有多少个数满足其中一个数是另一个数的两倍。代码:#include<iostream>usi...转载 2018-10-17 00:03:54 · 2075 阅读 · 0 评论 -
输入一个未排序的数组输出排序后相邻元素最大的差值
输入:多次测试,第一行为数组元素个数,第二行为数组元素。输出:数组排序后相邻元素的最大差值。该题关键看思路3.思路1,先将数组排序,然后设置一个全局变量为最大值,相减之后作比较。思路2,先将数组排序,然后设置一个vector,将相邻元素差值存入大根堆,最后输出堆首即可思路3,利用桶排序的思想,可以实现算法时间复杂度为O(N)如果在算法时间复杂度没有要求的话直接使用思路1...转载 2019-03-14 21:32:43 · 881 阅读 · 0 评论 -
去重排序问题
1、数字的去重排序明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。对于...原创 2019-03-10 23:48:55 · 582 阅读 · 0 评论 -
汽水问题
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?这个是一个简...原创 2019-03-10 15:52:36 · 381 阅读 · 0 评论 -
字符串的反转输出
题目一输入:abcd输出:dcbd思路1:直接将输入的字符串存放起来,然后通过索引实现反序输出思路2:将字符串存入栈结构,然后输出思路1:#include<iostream>#include<string>using namespace std;int main() { string s; while (cin>>s)...原创 2019-03-15 10:46:09 · 2934 阅读 · 0 评论 -
返回最长子回文子串和最长不重复的子串
一、最长回文子串fabad中aba符合条件fabbad中abba也是在这里介绍使用扩散法判断回文比如 acbc;i为1从c开始,开始往左右两边扩散,left = i-1,right = i+1,判断是否相等,这里不相等,继续i来到b位置,left=i-1,right=i+1这是left和right对应元素是相等的,所以继续扩散,直到不满足条件了那么拷贝left到right中间的...原创 2019-03-15 15:54:59 · 334 阅读 · 0 评论 -
queue求解循环报数删除问题
因为刚使用queue对象,所以先记录一下基本用法方便复习q.empty() #判断队列是否为空,空返回true,非空返回falseq.size() #返回队列中元素的个数q.pop() #直接删除队首元素,没有返回值q.push() #在队尾压入q.front() #返回队首元素q.back() #返回队尾元素可以使用队列解决圆桌报数退出等问题。一、比如有如下问题...原创 2019-03-11 20:06:49 · 487 阅读 · 0 评论 -
随机快排
题目:输入:第一行输入数组大小,第二行输入数组元素。输出 :最后排序的结果要求:快排,并且可以实现多组输入测试样例输入:53 1 4 5 2输出:1 2 3 4 5#include<iostream>#include<cstdlib>using namespace std;void swap(int arr[], int i...原创 2019-03-10 19:06:30 · 230 阅读 · 0 评论 -
使用数组实现栈和队列
一、数组实现栈:1、使用一个类实现,该类私有成员有m_top、m_size、m_buffer 分别表示数组中栈顶位置、数组初始空间大小、指向该数组的指针。2、该类的成员函数包括:isEmpty、isFull、push、pop、top、clearStack、stackLength3、实现思路:1、构造函数:初始化数组大小,m_top指向0位置,每次push元素都直接装进m_Top位置...原创 2019-09-21 12:00:39 · 1007 阅读 · 0 评论