数组重排(贪心)
来源:互联网 发布:视频亮度调节软件 编辑:程序博客网 时间:2024/06/05 16:30
给定一个1-N的排列A1, A2, ... AN,每次操作小Hi可以选择一个数,把它放到数组的最左边。
请计算小Hi最少进行几次操作就能使得新数组是递增排列的。
第一行包含一个整数N。
第二行包含N个两两不同整数A1, A2, ... AN。(1 <= Ai <= N)
对于60%的数据 1 <= N <= 20
对于100%的数据 1 <= N <= 100000
一个整数代表答案
52 3 1 4 5
1
利用贪心思想,如果每个数都移动,N个数最多移动N次就形成一个递增序列;如果最后一个数是最大的就不需要移动,第N-1个是倒数第二大的也不需要动,只有当第i个数不是i时才移动;
#include <iostream>#include <queue>#include <vector>#include <stdio.h>#include <algorithm>using namespace std;vector<int> vec;int main(){ int N; cin >> N; int maxx=N; int x; for(int i=0; i<N; i++){ scanf("%d",&x); vec.push_back(x); } for(int i=N-1; i>=0; i--){ if(vec[i]==maxx){ //不需要移动,maxx-1; maxx--; } } cout << maxx << endl; return 0;}
阅读全文
0 0
- 数组重排(贪心)
- hihoCoder 1523 数组重排2 贪心
- 数组重排
- (算法题)数组重排,左奇右偶
- hiho #1539 : 数组重排3(bfs)
- 随机数组重排
- 数组重排问题
- Hihocoder 数组重排
- Javascript数组重排
- shuffle()重排数组
- hihoCoder1330—数组重排
- hihocoder 数组重排
- hihoCoder1330 数组重排
- 整型数组处理算法(七)重排问题
- 将一个数组随机重排
- 数组重排,O(1)空间
- 百度笔试题--数组重排
- hihoCoder 1523 : 数组重排2
- sizeof 和 strlen 区别
- Android图片压缩(质量压缩和尺寸压缩)&Bitmap转成字符串上传
- Lucene学习总结之七:Lucene搜索过程解析(4)
- 简单明了区分escape、encodeURI和encodeURIComponent
- rabbitmq笔记 与 springcloudstream的交互
- 数组重排(贪心)
- null和""的区别
- 阿里云推荐引擎使用教程
- 批量导入功能实现
- iOS之《Effective Objective-C 2.0》读书笔记(45)
- web 基础
- (六)JavaScript关于浏览器-promise和canvas
- 作业
- spring 和 mybatis 整合过程 (包含分页)