文章目录

  • 题目
  • 代码:

题目

现在有一队小朋友,他们高矮不同,
我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。
我们现在希望小朋友排队,以“高”“矮”“高”“矮”顺序排列,
每一个“高”位置的小朋友要比相邻的位置高或者相等;
每一个“矮”位置的小朋友要比相邻的位置矮或者相等;
要求小朋友们移动的距离和最小,第一个从“高”位开始排,输出最小移动距离即可。
例如,在示范小队{5,3,1,2,3}中,{5, 1, 3, 2, 3}是排序结果。
{5, 2, 3, 1, 3} 虽然也满足“高”“矮”“高”“矮”顺序排列,
但小朋友们的移动距离大,所以不是最优结果。
移动距离的定义如下所示:
第二位小朋友移到第三位小朋友后面,移动距离为1,
若移动到第四位小朋友后面,移动距离为2;

输入描述:
排序前的小朋友,以英文空格的正整数:
4 3 5 7 8
注:小朋友<100个
输出描述:
排序后的小朋友,以英文空格分割的正整数:
4 3 7 5 8
备注:4(高)3(矮)7(高)5(矮)8(高),
输出结果为最小移动距离,只有5和7交换了位置,移动距离都是1.

示例一:

输入

4 1 3 5 2

输出

4 1 5 2 3

示例二:

输入

 1 1 1 1 1

输出

 1 1 1 1 1

说明:相邻位置可以相等

示例三:

输入:

 xxx

输出

 []

说明:出现非法参数情况,返回空数组

代码:

#include<iostream>
#include<vector>
using namespace std;
int main(){vector<int> cap;int tmp;while(cin >> tmp){cap.push_back(tmp);char c = cin.get();if(c == '\n') break;if(c != ' '){cout << endl;return 0;}}int len = cap.size();for(int i = 0; i < len; ++i){if(i % 2 == 0 && i < len - 1 && cap[i] < cap[i + 1]) swap(cap[i],cap[i + 1]);if(i % 2 == 1 && i < len - 1 && cap[i] > cap[i + 1]) swap(cap[i],cap[i + 1]);i != 0 && cout << " ";cout << cap[i];}cout << endl;return 0;
}

华为面试题: 高矮个子排队相关推荐

  1. 【华为机试真题 Python实现 】高矮个子排队

    文章目录 前言 题目描述 示例 1 示例 2 示例 3 参考代码 前言 <华为机试真题 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期 ...

  2. 【华为机试真题 C++】高矮个子排队-100

    [编程题目 |100分]高矮个子排队[2021 H1,H2, 2022 Q1 考试题] 时间限制:C/C++ 1秒,其他语言 2秒 空间限制:C/C++262144K,其他语言524288K 64bi ...

  3. 【华为机试真题 JAVA】高矮个子排队-100

    [编程题目 |100分]高矮个子排队[2021 H1,H2, 2022 Q1 考试题] 时间限制:C/C++ 1秒,其他语言 2秒 空间限制:C/C++262144K,其他语言524288K 64bi ...

  4. 【华为机试真题详解】高矮个子排队

    文章目录 前言 题目描述 示例 1 示例 2 示例 3 题目分析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备 ...

  5. 【100%通过率】华为OD机试真题 C++ 实现【高矮个子排队】【2023 Q2 | 100分】

              所有题目均有五种语言实现.C实现目录.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 现在有一队小朋友,他们高矮不同,,我们以正整数数 ...

  6. 华为OD机试 - 高矮个子排队

    题目描述 现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}. 我们现在希望小朋友排队,以"高""矮"&quo ...

  7. 【华为机试真题Python】高矮个子排队

    题目描述 现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}. 我们现在希望小朋友排队,以"高""矮"&quo ...

  8. 华为od机考真题-高矮个子排队,算法第九讲-高频真题解析 II

    while 1:try:nums = input().split()# 非法输入if not "".join(nums).isdigit():print

  9. 【python练习题 03】高矮个子排队

    题目 现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}. 我们现在希望小朋友排队,以"高""矮"" ...

最新文章

  1. 中国行政区划信息JS库china-location
  2. PLSQL Developer连接oracle数据库安装及配置
  3. 聚簇索引、非聚簇索引、普通索引、唯一索引
  4. 如何利用结构化思维写好分析报告?
  5. CCF201912-1 报数
  6. lintcode-medium-Longest Common Substring
  7. Sharepoint Solution Gallery Active Solution时激活按钮灰色不可用的解决方法
  8. iOS sign in with Apple 苹果ID登录
  9. 进化树构建的方法原理及检验
  10. flex: 1到底是什么意思?
  11. JSK-布设光钎-Kruscal最小生成树-并查集-图的连通性
  12. 如何撰写和发表SCI论文
  13. JavaScript变量定义以及数据类型划分(笔记)
  14. 怎么制作书单视频?一款好用的制作软件教程
  15. 华山论剑闲谈iOS中闪光灯的使用
  16. RelativeLayout(相对布局)
  17. 使用苹果的地图与定位
  18. 解决win10在安装Android-studio时提示HAXM无法安装问题
  19. 3D语音天气球(源码分享)——完结篇
  20. mysql报ascii 0_导入mysql文件提示“ASCII \'\\0\' appeared in the statement”

热门文章

  1. CSAPP(深入理解计算机系统)
  2. Win2k3架设PPPOE服务器方法(RASPPPOE)
  3. 名编辑电子杂志大师教程 | 如何制作手机版电子杂志
  4. Java—输入数字星期,输出英文(switch语句)
  5. 4.4-4.7网络模型、协议
  6. 软件需求分析-原理、模型与误区
  7. Qt之QUdpSocket定时器网络广播
  8. 计算机考试一级表格考试题,计算机一级Word 表格考试题
  9. 一份数据科学“必备”的数学基础清单
  10. 使用QT SDK 1.1 Qt Creator 2.0.9创建symbian sisx安装包