2014华为校招机考模拟--求最大递增数


描述:


输入一串数字,找到其中包含的最大递增数。递增数是指相邻的数位从小到大排列的数字。如: 2895345323,递增数有:289,345,23, 那么最大的递减数为345。


运行时间限制:


无限制


内存限制:


无限制


输入:


输入一串数字,默认这串数字是正确的,即里面不含有字符/空格等情况


输出:


输出最大递增数


样例输入:


123526897215


样例输出:


2689


答案提示:

一道基础的动态规划算法题,采用C++实现。代码如下:

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     char num[50];
 6     int currentValue=0;
 7     int maxValue=0;
 8     while (cin>>num)
 9     {
10         int i=0;
11         for (i=0;num[i];i++)
12         {
13             currentValue=currentValue*10+num[i]-‘0‘;
14             if(num[i]>=num[i+1])
15             {
16                 if(currentValue>maxValue)
17                     maxValue=currentValue;
18                 currentValue=0;
19             }
20         }
21         cout<<maxValue<<endl;
22         maxValue=0;
23     }
24     return 0;
25 }

运行结果:

时间: 2024-11-10 10:51:06

2014华为校招机考模拟--求最大递增数的相关文章

2014华为校招机考模拟--记票统计

(样题,已对外公布)记票统计 描述: 模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用“A”.”B”.”C”.”D”表示,选举时开始计票, 若输入的不是“A”.”B”.”C”.”D”则视为无效票.选举结束后获取各个候选人的得票数以及无效票的个数,输出结果以添加候选人的顺序进行顺序输出,最后一行为无效的数量.同时getVoteResult命令为结束命令. 运行时间限制: 无限制 内存限制: 无限制 输入: 输入为多行形式输入,每一行为一条命令.输入的命令只会是有效命令不会有非法命

2014 华为校招机试题(c/c++开发类)

第一题: 1.2.3....n盏灯,同时有n个人, 第1个人将1的倍数的灯拉一下, 第2个人将2的倍数的灯拉一下, ...... 问最后有几盏灯是亮的, 初始状态下灯是灭的, 输入整数n(n<65536), 输出亮的灯数 方法解析:设置一个map,关键字为灯的编号,值为0或1,分别表示灯灭和灯亮状态,遍历map,第i个灯,将所有i倍数的灯进行一次取反操作,也可以通过数组实现.代码如下: [cpp] view plaincopy #include "stdafx.h" #inclu

2014年七月华为校招机试题目--最难的一道, 呵呵!

今天百无聊赖之时, 漫心看到14年的华为校招机试题目, 一共三道, 前两道皆是平平, 第三道却柳暗花明, 让人眼前一亮. 咋一看, 饶有趣味, 看似平淡无奇, 然而却玄机颇深(对我这种弱渣而言).(不过对于ACMer, 好像应该用基础算法, 就能解决!) (然而我也只会基础的算法!!忏愧的紧!!!).如果有幸被大神看到, 能指点我一两招, 不胜感激!  下面是题目和我的详细题解思路(可供巨巨一笑!嘿嘿!). 2014年七月华为校招机试题目: 第三题: 输入一个正整数X,在下面的等式左边的数字之间

2015年华为校招机试题和代码实现(分解字符串,拼音转数字,去除重复字符并排序,等式变换)

再来一套2015年的华为机试题. 第一题(60分): 按要求分解字符串,输入两个数M,N:M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0.例如:输入2,8, "abc" ,"123456789",则输出为"abc00000","12345678","90000000" 分析思路: 容易题 1.获得字符串的长度length后,判断与要输出位数N的大小,大于N的话,直接printf前N位字符,然

华为校招机试—传送门

华为机试-多个数的最大公约数 华为机试-算日期 华为机试-拼音翻译成阿拉伯数字(只有数字拼音) 华为机试-拼音翻译成阿拉伯数字(有Wan,Qian,Bai,Shi单位) 华为机试-输出大写字母 华为机试-亮着电灯的盏数(优化过的双重for) 华为机试-从考试成绩中划出及格线 华为机试-亮着电灯的盏数(1-N完全平方数的个数) 华为机试-大数相减 华为机试-姓名的夫妻相 华为机试-元素按奇偶排序 (金字塔) 华为机试-地铁换乘(图文吐血整理) 华为机试-"十七进制"转"十进制&

2016华为校招机试记录

3道题,分值100/200/300,都不算难 1.输入一个字符串,输出该字符串按照每个字母与'U'距离的绝对值排序的新字符串(若相同,按照原字符串中的位置关系排列) 核心就是写一个sort的cmp函数,没什么难度 2.续1s:给定一个字符串类型的时间(2016/09/13 13:13:13),输出下一秒的时间 考虑好闰年情况依次进位即可 3.仿自动售货机:给一个字符串(形如p 1,p 5,p 5,b A1,b A3,b A2)和执行前货箱.钱箱的初始状态,p k(1/2/5)表示塞入一张k元纸币

2013 华为校招机试题

第一题: 删除字符串中所有给定的子串(40分)问题描述:在给定字符串中查找所有特定子串并删除,如果没有找到相应子串,则不作任何操作.要求实现函数:int delete_sub_str(const char *str, const char *sub_str, char *result_str)[输入] str:输入的被操作字符串,sub_str:需要查找并删除的特定子字符串[输出] result_str:在str字符串中删除所有sub_str子字符串后的结果[返回] 删除的子字符串的个数注:I.

哈工大机考:求最大值

时间限制:1秒 空间限制:32768K 题目描述 输入10个整数,要求输出其中的最大值. 输入描述: 测试数据有多组,每组10个整数. 输出描述: 对于每组输入,请输出其最大值(有回车). 输入例子: 10 22 23 152 65 79 85 96 32 1 输出例子: max=152 上代码: #include <iostream> #include <algorithm> using namespace std; int main(){ int a[10]; while(ci

求最大递增数

题目: 描述:  输入一串数字,找到其中包含的最大递增数.递增数是指相邻的数位从小到大排列的数字.如: 2895345323,递增数有:289,345,23, 那么最大的递减数为345.  输入:  输入一串数字,默认这串数字是正确的,即里面不含有字符/空格等情况  输出:  输出最大递增数  样例输入:  123526897215  样例输出:  2689 代码: #include "cstdio" #include "algorithm" #include &q