文档详情

从网上整理华为机考试试题目.docx

发布:2018-06-28约1.72万字共29页下载文档
文本预览下载声明
一、华为机试——2018年校招10号参加的华为的机试,这次的3道题难度适中。第一题字符串,第二题贪心算法(会不会?),dp可以解,第三题长整数相乘。因为题主做过第三题原题,刚开始就把第三题秒了~~然后开始做第一题,一般10分钟就可以搞定。第二题要想一下,不过也差不多是原题,Leetcode上第55题jump game应该是此题原型。因为都刷过几乎是原题的原故,一个小时不到3题就AC完了下面是完整题目和代码题目一、给你一个原始字符串,根据该字符串内每个字符出现的次数,按照ASCII码递增顺序重新调整输出。举例!假设原始字符串为eeefgghhh则每种字符出现的次数分别是1.eee 3次? ?2.f 1次? ?3.gg 1次 4.hhh 3次重新排序后输出的字符串如下:efghegheh编写程序,实现上述功能。【温馨提示】1.原始字符串中仅可能出现“数字”和“字母”;2.请注意区分字母大小写。#include?iostream??#include?map??#include?vector??#include?algorithm??using?namespace?std;??int?main(){??????string?str;??????int?a[128]={0};??????while?(cin??str){??????????for(int?i=0;istr.length();i++){??????????????a[str[i]]++;??????????}????????????????????????????????????????????????????//caculate?the?number?of?each?character??????????int?max?=?*max_element(a,?a+128);??????????sort(str.begin(),str.end());??????????long?i?=unique(str.begin(),?str.end())?-?str.begin();//the?location?of?the?maxium?number?character???????????str=str.substr(0,i);??????????for(int?j=0;jmax;j++)??????????for(int?i=0;istr.length();i++){??????????????if(a[str[i]]){??????????????????coutstr[i];??????????????????a[str[i]]--;??????????????}??????????}??????????cout?endl;??????}????????????return?0;??}??题目二、给出一组正整数,你从第一个数向最后一个数方向跳跃,每次至少跳跃1格,每个数字的值表示你这个位置可以跳跃的最大长度。计算如何以最少的跳跃次数跳到最后一个数。输入描述:第一行表示有多少个数n第二行依次是1到n,一个数一行。输出描述:输出一行,表示跳跃最少的次数#include?iostream??#include?cstdlib??#include?vector??#include?algorithm??//确定起点后,用一个指针指向最大跳跃点。??????//搜索最大跳跃点与起点之间能往后走的最远的点,选定该点为起点,其最大跳跃点为终点。重复。??#define?MAX?1000??using?namespace?std;????????????//每次跳的最大长度为a[i]+i。??????????if(a[i]?+?i??stepMax){?//搜索最大的跳跃点,记为index??????????????stepMax?=?a[i]?+i;??????????????index?=i;??????????}??????????if(i?==?end){????????????//搜索完毕,从index(能跳最远的位置)开始继续跳??????????????end?=?stepMax;??????????????++count;??????????????i?=?index;??????????}??????}??????return?count;??}????int?main()??{??????int?n;??????while?(cin??n){??????????int?a[MAX]={0};??????????for(int?i=0;in;i++){??????????????cin??a[i];??????????}??????????cout?jump(a,?n);??
显示全部
相似文档