首页 > 代码库 > 2017百度春招<有趣的排序>
2017百度春招<有趣的排序>
题目
度度熊有一个N个数的数组,他想将数组从小到大排好序,但是萌萌的度度熊只会下面这个操作:
任取数组中的一个数然后将它放置在数组的最后一个位置。
问最少操作多少次可以使得数组从小到大有序?
#include<bits/stdc++.h> using namespace std; int main() { int n, i, j; vector<int> a; vector<int> b; cin >> n; for(i=0; i<n; i++){ int x; cin >> x; a.push_back(x); b.push_back(x); } sort(b.begin(), b.end()); for(i=0; i<n; i++){ if(a[i]==b[0]) break; } for(i=0,j=0; i<n; i++){ if(a[i]==b[j]){ j++; } if(j==n) break; } cout << n-j; return 0; }
2017百度春招<有趣的排序>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。