华为笔试——C++消重输出】的更多相关文章

题目:消重输出 题目介绍: 输入一个正整数,给出消除重复数字以后最大的整数,注意需要考虑长整数. 例: 输入:988274320 输出:9874320 题目分析:这个结果的实现需要两个步骤:消重和排序.第一步,消重.先用string 和char 将数字分别储存进char 数组,然后从左边第一个字符开始逐个向右边比较,如果有相同的字符就将左边的置换成 ‘a’ ,这样多次次循环过后988274320就变成了9a8a74320,因为是向右比较且只变换左边字符,因此a 不会重复.第二步,排序.就是循环比…
数据对像(可以通俗地认为是文件)的分块存储具有久远的历史.长久以来,单机文件系统一直将文件切分为若干固定大小的小块.其主要目的是为了进行有效的空间管理.互联网时代,大规模数据存储逐步发展起来.出于降低成本的考虑,人们在分块存储的基础上进行数据块的复用,即所谓的“消重”.但对于大型的在线对象存储而言,分块消重是有害的. 具体来讲,分块消重是将数据对像切分成固定大小的数据块.数据对像之间有些数据块可能是一样的,那么就让它们共享数据块.换句话说,相同的数据块只留一份,所有用到这个数据块的对象,都指向这…
题目:括号匹配 题目来源:https://blog.csdn.net/lizi_stdio/article/details/76618908 题目介绍:输入一个字符串,里面可能包含“()”.“ [  ] ”." {  } "三种括号,要求程序判断这个字符串里的括号是否成对出现且嵌套关系正确,若成对出现且嵌套关系正确,或字符串中无括号出现时,输出True:否则输出False.无需考虑非法输入. 例: 输入: (1+4)/[(2+3)*4] 输出: True 分析:这个问题考察的其实是栈的…
三道题目case:100,100,0: 三个题目: 前两个都全部ac了,第三题没时间: 记录一下大概的思路: 第一题 主要通过Java中的字符串处理函数:然后控制字符串输入格式: 卡bug的点: 1:首先录入:sc.next();习惯用sc.nextLine()导致总是数组越界卡: //以后多多使用next: 2:控制字符串的 输出:通过sustring()整理出来字符串字段: //调用系统函数处理比较方便: 可以多记住一下api 3:然后控制输出:字符串转换数组控制正反输出: or:也可以通过…
题目:平安果 题目介绍:给出一个m*n的格子,每个格子里有一定数量的平安果,现在要求从左上角顶点(1,1)出发,每次走一格并拿走那一格的所有平安果,且只能向下或向右前进,最终到达右下角顶点(m,n),要求求出能拿走的平安果的最大数值. 输入:第一行有两个数值m,n,然后是m行n列数值. 输出:一个数值代表平安果的最大数量. 例: 输入: 4 4 1 2 4 8 10 14 3 9 17 6 7 20 12 5 21 23 输出: 89 分析:这是一种比较典型的dp算法(动态规划)的题目,每一格获…
题目:字符串四则运算的实现 有字符串表示的一个四则运算表达式,要求计算出该表达式的正确数值.四则运算即:加减乘除"+-*/",另外该表达式中的数字只能是1位(数值范围0~9),运算不用括号.另若有不能整除的情况,按向下取整处理,eg: 8/3得出值为2. 举例:字符串"8+7*2-9/3",计算出其值为19. 考点:数字的字符形式变换为数字形式的方法. 分析:输入的值是字符形式的,输出的值是整型的,解决这个问题的关键就是将数字和运算符号的字符型转化成整型运算.在网上…
题目介绍:现在输入一组数据,写入学生的考试分数.已知学生数为N,学生编号为1到N,且0<N<=30000,每个学生都有一个分数:操作数为M且0<M<5000.输入第一行为N M,接下来是1行N列数据代表学生的初试分数,接下来是M行操作数据.已知操作有两种,分为Q和U.一次操作的格式为 C A B,当C=Q时输出A到B(包括A和B)的学生最高分,当C=U时将ID为A的学生的分数写入为B. 例: 输入: 5 7 1 2 3 4 5 Q 1 5 U 3 6 Q 3 4 Q 4 5 U 4…
题目:int型数字位排序 题目介绍:输入int 型整数,按照从右至左的顺序,返回不含重复数字的新整数. 例: 输入: 99824270 输出: 072489 分析:乍一看很简单,但是很容易忽略int 型包含负整数的这一情况,还有为了应对多组测试数据需要在输入中加入while 循环. 代码: #include <iostream> #include <string> using namespace std; int main() { string str; int size; , j…
题目:特定位数比较 题目介绍:输入两行数据,第一行为 m 个正整数,以空格隔开:第二行为正整数 n ,且 n<= m:要求对第一行的数字的后三位大小进行排序,输出排行 n 的数字,其中,若不满三位数则直接比较:若两数字比较结果相等则两数相对位置不变:排序时位置从1开始. 例: 输入: 12 450 9001 5231 8231 7231 5 输出: 7231 分析:因为输入中并没有正整数 m 即输入正整数的个数,因此我们需要先解决“输入一行数字,以空格间隔,以回车结尾,存储在数组里”的问题,这个…
题目:2-62进制转换 题目介绍:输入一个n1 进制的整数(包括负数),将其转换成n2 进制,其中n1 .n2 的范围是 [ 2,62 ] .每个数字的范围是0-9.a-z.A-Z.不用考虑非法输入. 输入: n1 n2 n1 进制整数 输出: n2 进制整数 例: 输入: 8 16 -1352460 输出: -5d530 分析: 这道题目需要考虑几点:负整数的输入:将输入的n1 进制的数转换成10 进制的数,再用长除法将这个10 进制的数转换成 n2 进制的数:a-z和A-Z与其代表的整数的相…