华为机试题:整数排序
来源:互联网 发布:淘宝中的延长收货 编辑:程序博客网 时间:2024/04/20 22:55
描述:
实现输入一组大于等于0的整数,根据从小到大的顺序排序后输出,排序后有连续数时,只输出连续数中最小和最大的两个数。
题目类别: 排序 难度: 高级 运行时间限制:10Sec内存限制:128MByte阶段: 入职前练习 输入:一组大于等于0的整数,不考虑非法输入,各个整数之间以逗号(“,”)分隔, 输入字符串的总长度小于等于100个字节。
输出:排序后的值,各个整数之间以空格分隔。
样例输入:1,4,3,110,2,90,7样例输出:
1 4 7 90 110
#include <iostream>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <algorithm>#include <map>#include <vector>using namespace std;int main(){ char str[101] = {0}; char *token = NULL; vector<int> vec; int data = 0, i = 0, lens = 0; cin >> str; token = strtok(str,","); while(token != NULL) { data = atoi(token); vec.push_back(data); token = strtok(NULL,","); } sort(vec.begin(),vec.end()); lens = vec.size(); for(i = 0; i < lens; i++) { if(i == 0) { cout << vec[i]; } else { cout << " " << vec[i]; } if(i < lens - 1 && (vec[i+1] - vec[i] == 1)) { while((i < lens - 1) && (vec[i+1] - vec[i] == 1)) { i++; } cout << " " << vec[i]; } } cout << endl; return 0;}
0 0
- 华为机试题:整数排序
- 华为机试题——整数减法
- 华为机试题: 整数相除
- 整数循环节求和-华为机试题
- 华为OJ平台试题 —— 整数排序
- 华为机试题--排序问题
- [华为机试练习题]6.整数排序
- 华为oj【整数排序】
- 华为机试题: 整型字符串排序
- 华为机试题—0交换排序
- 2016 华为机试题之整数循环节求和
- 华为机试题--7.提取不重复的整数
- 华为机试题:提取不重复的整数
- 华为上机试题5(整数排序并删除一些元素)
- 华为机试—整数数组排序(字符串输入输出)
- 华为机试—整数数组排序(字符串输入输出)
- 华为机试题:输入一组大于等于0的整数,从小到大排序输出,输出有连续数时,只输出连续数的最小和最大值
- 将奇偶数分别排序--华为机试题
- 排序算法总结
- 张正友标定论文翻译(2)
- 找出升序数组中和为给定值的两个数字
- iPhone屏幕像素 分辨率 xcode中的逻辑宽高的介绍以及strcut与class的区别
- HDU 4560解题报告
- 华为机试题:整数排序
- HDU3371 并查集与最小生成树(判断有无生成树)
- segfault at xxx rip xxx rsp xxx error 4
- WebKit之V8编写简单demon
- C语言 求一个数列的前n项之和,保留两位小数。
- win7下安装/卸载VirtualBox时出错
- MFC下ADO访问ACCESS插入日期
- cocos2d-x核心概念(四)——动作,动画
- mac升级到10.11.3后CocoaPods不可用的解决办法