(百度17春招笔试题)有趣的排序

Farewell Farewell     2022-09-04     487

关键词:

 

时间限制:1秒

空间限制:32768K

度度熊有一个N个数的数组,他想将数组从小到大 排好序,但是萌萌的度度熊只会下面这个操作:
任取数组中的一个数然后将它放置在数组的最后一个位置。
问最少操作多少次可以使得数组从小到大有序? 
输入描述:
首先输入一个正整数N,接下来的一行输入N个整数。(N <= 50, 每个数的绝对值小于等于1000)


输出描述:
输出一个整数表示最少的操作次数。

输入例子:
4
19 7 8 25

输出例子:
2

思路:找到数组中的乱序的个数就行。比如:数列5 1 4 2 3,从最小的数开始向后递增的数列,即1..2 3共三个可认为这三个数是有序的,然后对剩下的5和4操作就行了,最小操作次数就是2。6 1 4 2 5 3就可以认为1..2..3 是有序,剩下的6,4,5就是乱序的,操作3次就可以了。
代码如下:
#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 t = n, cnt = 0;
    for (int i = 0; i<n - 1; i++)
    {
        //根据从小到大乱序数计算
        if (m[v[i]]>m[v[i + 1]])
        {
            m[v[i + 1]] = t++;
            cnt++;
        }
    }
    cout << cnt << endl;
    return 0;
}

 

 

百度2017春招笔试真题编程题之有趣的排序

问题描述:度度熊有一个N个数的数组,他想将数组从小到大排好序,但是萌萌的度度熊只会下面这个操作:任取数组中的一个数然后将它放置在数组的最后一个位置。问最少操作多少次可以使得数组从小到大有序?输入描述:首... 查看详情

网易春招笔试题工作安排

链接:https://www.nowcoder.com/questionTerminal/728fcf136ca1488b8043c82fd2b181da来源:牛客网现在有n位工程师和6项工作(编号为0至5),现在给出每个人能够胜任的工作序号表(用一个字符串表示,比如:045,表示某位工程师能够胜任0号,4号,5号... 查看详情

2021最新春招asp.netcore笔试题附答案(代码片段)

.NETCore笔试题1.如何在ASP.NETCore中激活Session功能?首先要添加session包.其次要在configservice方法里面添加session。然后又在configure方法里面调用usesession。。2.什么是中间件?中间件在这里是指注入到应用中处理请求和响应的组... 查看详情

2018今日头条春招的一道笔试题——通过改变枚举的变量进行枚举优化(代码片段)

 题目如下:    这道题我们最先想到的做法,应该就是2重循环枚举数对,然后把数对放在set里去重,最后输出set的大小,即输出set.size()。代码如下:1#include<iostream>2#include<set>3usingnamespacestd;45intn,k,a[100000];6s... 查看详情

百度2016研发project师笔试题

百度2016研发project师笔试题(四)2015/12/810:42(网上收集整理的,參考答案在后面。若有错误请大神指出)1.关于MapReduce的描写叙述错误的是()A.一个Task一般会把输入集切分成若干独立的数据块B.通常计算节点和存储节点是同一节... 查看详情

有趣的笔试题

1.假如你有一块金条,要一个人为你工作七天,你可以将金条割两次,并且每天付一次工钱,这时你该怎么割这金条才能每天都发工资给这个工人?1/72/74/7各为一块就可以了第一天给1/7第二天给2/7,拿回1/7第三天给1/7第四天给4/7,... 查看详情

腾讯笔试题2017暑期实习-有趣的数字

题目:小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?输入描述:输入包含多组测试数据。对于每组测试数据:N-本组测试数据有n个数a1,a2...an-需要计算的数据保证:1<=N<=100000... 查看详情

百度笔试题面试题总结1

目录1.树的深度优先搜索算法2.广度优先搜索算法3.链表和数组的优缺点? 查看详情

百度2017春招笔试真题编程题集合--python(代码片段)

注:笔试题摘自牛客网,一共五道编程题。以下包括题目描述,个人思路,正确结果1.度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,... 查看详情

腾讯2017暑期实习生笔试题(有趣数字)(代码片段)

  之前准备把腾讯实习生招聘的第三道题做出来的,但是时间很紧,最终拖到今天才完成的,下午做了一个小时才弄出来的,主要是细节方面的问题。这个题意思很简单吧,给出很多数,找出“二元组”... 查看详情

经典算法——堆排序笔试题

阿里巴巴2016研发project师笔试选择题1.将整数数组(7-6-3-5-4-1-2)依照堆排序的方式原地进行升序排列,请问在第一轮排序结束之后,数组的顺序是_____。 查看详情

百度2017笔试题:寻找n个员工中未打卡的那一个

声明:图片来自网络,笔者只是试着做了一下,然后做个记录。拿到这个题目的时候,笔者首先想到的是二分。两个数组,一个是全体员工的集合A;一个是缺少一人的集合B。对A,B排序,再对B进行二分,得到B的中间员工的工号mi... 查看详情

笔试题:排序后取最小差值数

 笔试题:要从5个人中选取2个人作为礼仪,其中每个人的身高范围为160-190,要求2个人的身高差值最小(如果差值相同的话,选取其中最高的两人),以升序输出两个人的身高。 Smple input:161 189 167 172 1... 查看详情

14年百度某次笔试题

最近看架构师的博文里面,提到shortURL的方法。于是搬运一下。YOURLS貌似在米国很火的样子,从图上看出中非刚果用的很少。该博文的作者提到的算法两种:自增序列算法http://tool.lu/hexconvert/算法2据说是新浪微博的算法:将长网... 查看详情

算法题之端口(2017百度实习笔试题)

端口时间限制:C/C++语言1000MS;其他语言3000MS内存限制:C/C++语言65536KB;其他语言589824KB题目描述:为了节省信息传递的数据量,A公司内部经常用一种简单的压缩方法来处理端口地址。举例:[001011:110011:101101:000000]→[1011:110011:1011... 查看详情

字节笔试题(含答案)(代码片段)

...众号,获取博主的数据结构与算法的代码笔记目录2019春招研发部分编程题万万没想到之聪明的编辑(AC)思路代码万万没想到之抓捕孔连顺(AC)思路注意代码方法一方法二雀魂启动!(AC)思路代码特征提取(AC)思路代码毕业旅行... 查看详情

笔试题算法系列百度2017买帽子(代码片段)

时间限制:1秒空间限制:32768K度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?输入描述:首先输入一个正整数N(N<=50),接下来... 查看详情

传智播客java笔试题

用java代码完成下面题目,在一个日志文件2013-05-30.log中有如下数据:27.19.74.143--[30/May/2013:17:38:25 27.19.74.143--[30/May/2013:17:38:22 27.19.74.143--[30/May/2013:17:38:23 27.19.74.143--[30/May/2013:17:38:21 查看详情