2017百度春招 有趣的排序(map)
来源:互联网 发布:报站软件 编辑:程序博客网 时间:2024/05/09 20:14
度度熊有一个N个数的数组,他想将数组从大到小排好序,但是萌萌的度度熊只会下面这个操作:
任取数组中的一个数然后将它放置在数组的最后一个位置。
问最少操作多少次可以使得数组从小到大有序?
任取数组中的一个数然后将它放置在数组的最后一个位置。
问最少操作多少次可以使得数组从小到大有序?
输入描述:
首先输入一个正整数N,接下来的一行输入N个整数。(N <= 50, 每个数的绝对值小于等于1000)
输出描述:
输出一个整数表示最少的操作次数。
输入例子:
419 7 8 25
输出例子:
2
思路:先把数组排好序,然后从小到大检测相邻的一对数的各自原始位置。递增数组原始位置应递增,若前一个原始位置大于后一个(即原数组小的数在大的后面),则将大数后移到最后,并更新位置。
代码:
#include<iostream>#include<map>#include<vector>#include<algorithm>using namespace std;int main() { int n,temp; cin>>n; vector<int> v; map<int,int> m; for(int i=0;i<n;i++) { cin>>temp; v.push_back(temp); m[temp]=i; } sort(v.begin(),v.end()); int r=n,count=0; for(int i=0;i<n-1;i++) { if (m[v[i]]>m[v[i+1]]) { m[v[i+1]]=r++; count++; } } cout<<count<<endl; }
阅读全文
1 0
- 2017百度春招 有趣的排序(map)
- 有趣的排序,百度2017春招第四题
- 有趣的排序——百度2017春招
- 4--百度2017春招笔试真题编程题集合--有趣的排序 (Python)
- 百度校招笔试-有趣的排序
- 百度2017春招笔试真题编程题 --有趣的排序
- 百度2017春招笔试真题编程题集合--有趣的排序
- 百度2017春招笔试真题编程题集合:有趣的排序 [python]
- 【百度】有趣的排序
- [百度]有趣的排序
- 有趣的排序-百度-排序
- 校招真题 百度 有趣的排序
- 2017百度春季实习生编程题之有趣的排序
- 百度2017春招试题
- 百度2017春招笔试的部分编程题
- 2017百度春招 不等式数列(DP)
- 百度2017春招笔试真题
- 2017百度春招编程题
- 竞争条件——线程学习四
- Qt小知识点
- 数据结构--二叉树
- 概述之Kotlin for Android
- 关于微信小程序,那些开发文档没有告诉你的
- 2017百度春招 有趣的排序(map)
- Tensorflow 构建一个多层cnn网络,附注释。
- vue-cli构建vue项目
- React Native相机 相册 定位 设备信息
- 图的搜索和最短路径-Saving James Bond
- Cadence中的PCB Editor如何关闭已经所敷铜的显示(多说无益,如图所示)
- js如何禁止掉网页上的鼠标右击事件
- 111. Minimum Depth of Binary Tree
- html 基础标签