百度:度度熊有一个N个数的数组,他想将数组从大到小排好序...

2023-11-15

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

输入描述:
首先输入一个正整数N,接下来的一行输入N个整数。(N <= 50, 每个数的绝对值小于等于1000)

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

输入例子:
4
19 7 8 25

输出例子:
2

思路很简单,使用vcetor来装数组,使用map放value和index。
首先,对vector进行排序,这样我们会发现,vector中的值在map的索引号应该逐渐增大。
当发现vector中较大的值对应map中的索引号较小,应该把vector中较大的值对应的map中的索引号
以vector.size()为基数增大。
这里写代码片
#include "iostream"
#include "vector"
#include "map"
#include "algorithm"

using namespace std;
int main()
{
    int N,value;
    cin>>N;
    vector<int> arr;
    map<int,int> duMap;
    for(int i=0;i<N;i++)
    {
        cin>>value;
        arr.push_back(value);
        duMap[value]=i;
    }
    sort(arr.begin(),arr.end());
    int index=N,count=0;
    for(int i=0;i<N-1;i++)
    {
        if(duMap[arr[i]]>duMap[arr[i+1]])
        {
            duMap[arr[i+1]]=index++;
            count++;
        }
    }
    cout<<count;
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

百度:度度熊有一个N个数的数组,他想将数组从大到小排好序... 的相关文章

  • 以编程方式在网格视图列上显示数据

    我有一个产品数量列表和一个网格视图 网格视图已经绑定到一些数据 但我想在网格视图的第三列显示产品数量列表 以下是如何将数据绑定到网格视图的代码 gvProduct DataSource distSPUItem gvProduct DataB
  • 递归显式模板实例化可能吗?

    给定一个类似的模板 template
  • 如何在 C++ 中的嵌套词法作用域可访问的作用域中声明静态信息?

    我想声明范围的标识符 该标识符将用于自动填充最内部范围内任何日志记录语句的字段 它们通常会 但并非总是如此 例如 lambda 使用 引入的块 匹配封闭块的 名称 用法看起来像这样 namespace app LOG CONTEXT app
  • 字典的线程安全

    如果我有一个 Dictionary
  • 轮廓积分算法 C++

    我正在尝试编写一个应用数学程序来计算复平面中的轮廓积分 对于初学者来说 我想为梯形方法编写一个算法 但我有点坚持理解它会是什么样子 毕竟 我们通常将梯形方法视为 2D 图 而这里我们有 f C gt C 所以我们谈论的是 4D 最终我希望用
  • 本机 C++ 通过代理 C++ 托管 dll 使用 C# dll

    这相当复杂 所以请耐心听我说 我有一个用本机 仅限 Win32 C 编码的第 3 方程序 目标 作为目标设计的一部分 它实现了一个 dll 插件系统 本机 DLL 当放置在程序的 ext 目录中时 由目标加载 然后 目标根据需要调用每个 D
  • 如何使用 Regsvr32 注册 .NET COM DLL?

    我有一个使用 COM DLL 的 VB6 应用程序 该DLL是用C 编写的 在 C 项目属性中 我检查了 Register for COM interop 选项 VB6 应用程序在我的开发机器上运行良好 C 代码完全遵循以下格式 CodeP
  • 将私有部分保留在 C++ 标头之外:纯虚拟基类与 pimpl

    我最近从 Java 和 Ruby 切换回 C 令我惊讶的是 当我更改私有方法的方法签名时 我必须重新编译使用公共接口的文件 因为私有部分也位于 h 文件中 我很快想出了一个解决方案 我想这对于 Java 程序员来说是典型的 接口 纯虚拟基类
  • DLR 返回类型

    我需要 DLR 的帮助 我正在实现 IDynamicMetaObjectProvider 和 DynamicMetaObject 但在获取预期返回类型时遇到一些问题 我在元对象中覆盖 BindInvokeMember 我可以看到所有参数类型
  • 给出对象的指针作为参数

    假设我有 void func foo obj 我有 foo object 我该如何制作object进入争论func 只需取消引用它即可 func object
  • 在浏览器中测试wcf服务

    我无法在浏览器中调用基本的 wcf web 方法 即使使用
  • Parallel ForEach 的本地初始化如何工作?

    我不确定 Parallel ForEach 中本地 init 函数的使用 如 msdn 文章中所述 http msdn microsoft com en us library dd997393 aspx http msdn microsof
  • 如何在 ASP.NET MVC 中获取参数数组作为 GET / POST?

    如何最好地获取数组 item gt value 对作为 GET POST 参数 在 PHP 中 我可以这样做 网址 这得到的参数为 Array a gt Array one gt 100 two gt 200 有什么方法可以在 ASP NE
  • 等效

    这是否保证始终为真 std numeric limits
  • 我使用 tm/mktime 是否错误,如果没有,有解决方法吗?

    我认为下面的程序应该输出从公元 1 年到 1970 年每年第一天到 1970 年的秒数 前面是time t在编译它的系统上 CHAR BIT是一个宏 所以我认为你不能只是复制编译后的可执行文件并假设它是正确的 尽管实际上一切都使用 8 位c
  • 实例着色器矩阵的设置

    我想绘制实例立方体 我可以打电话GL DrawArraysInstanced PrimitiveType Triangles 0 36 2 成功地 我的问题是所有立方体都绘制在相同的位置和相同的旋转 我如何为每个立方体单独更改它 要创建不同
  • 所有区域的启用保护模式必须设置为相同的值(启用或禁用)

    我正在尝试使用Selenium Internet Explorer驱动程序 但当我尝试实例化它时它崩溃了 TestInitialize public void TestInitialise ieDriver new InternetExpl
  • wpf中的图像问题(图像不显示)

    我不明白为什么我无法在 WPF 中显示图像 也许我不小心修改了我的资源文件夹 这就是我没有显示的原因 所以我创建了一个新的 wpf 应用程序 我有这个 当我运行该程序时 我的图片显示为 为什么当我尝试在程序中执行相同的操作时 图像没有显示
  • In 和 Out 属性在 .NET 中如何工作?

    我一直在尝试跨序列化数组AppDomain边界 使用以下代码 public int Read byte buffer int offset int count return base Read buffer offset count 作为猜
  • 如何获取打印机设备上下文?

    我在 Windows 上尝试使用以下命令打印增强型图元文件 EMF 播放增强元文件 http msdn microsoft com en us library dd162800 28VS 85 29 aspx 我当前正在使用屏幕上窗口的设备

随机推荐

  • nexus(Maven仓库私服)的安装、配置、使用和仓库迁移

    简介 Nexus下载 点击进入 Nexus 是Maven仓库管理器 如果你使用Maven 你可以从Maven中央仓库 下载所需要的构件 artifact 但这通常不是一个好的做法 你应该在本地架设一个Maven仓库服务器 在代理远程仓库的同
  • 利用labelme制作语义分割masks掩膜数据集

    1 labelme的安装 在terminal终端执行命令行操作 conda create n labelme python 3 6 创建labelme环境 activate labelme 激活labelme conda install p
  • 基于vivado实现FFT/IFFT

    文章目录 前言 一 基本过程 二 vivado配置 1 新建工程 2 调用DDS的IP核 2 调用FFT的IP核 三 编写Verilog程序 1 顶层文件fft v 2 仿真文件fft tb v 四 运行仿真 1 运行仿真设置 2 仿真波形
  • 二叉树的性质

    二叉树的性质以及满二叉树 完全二叉树 性质一 在二叉树的第i层 最多有2的 i 1 次方个结点i gt 1 性质二 深度为k的二叉树上最多有含有2的k次方 1个结点 k gt 1 性质三 对于任何一个二叉树 若它含有n0个叶子结点 n2个度
  • Spring Bean自动装配的简介

    转自 Spring Bean自动装配的简介说明 Spring Bean装配为依赖关系注入 Spring Bean装配方式称之为 Spring Bean依赖注入方式Spring Bean容器拥有多种装配Bean方式 如 使用XML 装配Bea
  • 数据科学—K均值算法实践

    K均值算法实践 问题描述 目标 数据集 分析 算法阐述 代码实现 结果 问题描述 现在有一组数据 需要通过聚类方法发掘其内在结构 目标 对数据进行聚类分析 将数据分为四类 k 4 数据集 clusterdata txt存储待聚类数据 共包含
  • jQuery操作CheckBox的方法(选中,取消,取值)详解

  • 通讯协议024——全网独有的OPC AE知识四之接口(八)

    本文简单介绍OPC AE规范的IOPCEventAreaBrowser接口的相关知识 更多通信资源请登录网信智汇 wangxinzhihui com OPC AE规范描述了OPC事件服务器应该实现的对象和接口 实现在多个OPC客户端间共享事
  • 2.5.6 共享分区CPU分配

    最后更新2021 07 27 共享分区CPU分配这个动作是系统Hypervisor自动完成的 我们只能通过HMC定义规则 但不能直接干预 CPU分配受几个限定参数影响 分别是Physical Processor 物理CPU 分配数量 Vir
  • Spring MVC视图解析器简介说明

    转自 Spring MVC视图解析器简介说明 Spring MVC视图解析器简介说明 下文讲述 Spring MVC视图 的相关说明 如下所示 Spring 视图解析器 Spring视图解析器用于对Spring中的视图进行解析 如下配置所示
  • 大话西游详细解读

    其实要理清 大话西游 的脉络 只要弄清楚命运对至尊宝的安排 和他面对命运和爱情的心路历程就够了 如果再理一下紫霞和白晶晶的故事 大话西游 的故事就纤毫毕现了 如下 至尊宝的故事 无奈的命运与无望的爱至尊宝原来是家在五岳山第四编101号B1的
  • 2023年IT行业就业前景分析,准职场人必看!

    随着疫情的放开 2022已接近尾声 新的一年即将来临 作为打工人最关心的肯定是2023年的就业市场以及行业未来发展前景 如何最直观地看待这个行业是否还有前景 最好的方式就是看市场需求 作为准职场人的你 速速关注起来 根据智联招聘10月发布的
  • 学习笔记——JDBC

    初识JDBC 文章目录 初识JDBC 一 JDBC是什么 二 使用步骤 1 JDBC开发前的准备工作 1 1 下载对应驱动的jar包 1 2 针对文本编辑器的方式开发的配置 1 3针对编译软件 例如IDEA开发的配置 2 JDBC编程 2
  • 立创梁山派GD32F450ZGT6--屏幕扩展板LVGL应用

    该文章工程是基于裸机情况下运行的LVGL 通过GUI Guider 1 4 0进行页面布局配置 一 介绍 GUI Guider是恩智浦为LVGL开发了一个上位机GUI设计工具 可以通过拖放控件的方式设计LVGL GUI页面 加速GUI的设计
  • 大语言模型之十-Byte Pair Encoding

    Tokenizer 诸如GPT 3 4以及LlaMA LlaMA2大语言模型都采用了token的作为模型的输入输出 其输入是文本 然后将文本转为token 正整数 然后从一串token 对应于文本 预测下一个token 进入OpenAI官网
  • 攻防世界 Morse writeup

    题目 三 题型 crypto 题目 Morse 来源 攻防世界 https adworld xctf org cn challenges list 思路 直接利用摩斯密码进行解密 具体步骤 Step1 根据题目猜测是摩斯密码 Step2 将
  • 2019最近计算机毕业设计-题目汇总大全-系列5

    javaweb python爱好者 如果对以下项目感兴趣可以邮箱 cswork2019 163 com 与我沟通交流 课题名称 备注 区块链交易信息的获取与可视化分析 基于2D物理引擎 液体 的H5小游戏 基于Cocos2D的微信小游戏的设
  • 高校圆桌派第三期话题征集强势来袭~

    高校圆桌派 话题风暴等你来 即日起参与 高校圆桌派 活动 就有机会获得CSDN高校圆桌大礼包和CSDN周边礼品免费包邮送到家 高校圆桌派第二期话题征集结果公示 1 刚毕业的程序员有必要执着于进入大厂吗 小厂和大厂怎么选择 2 新能源汽车行业
  • 最简单的获取安卓应用sha1值的方法

    每个安卓应用都有一个签名证书 签名证书可以由jdk生成 当证书生成后 证书就有其sha1值 md5值和sha256值 使用此证书打包后的apk 也有其一样的sha1值 md5值和sha256值 有两种方法可以获取sha1值 1 解压apk
  • 百度:度度熊有一个N个数的数组,他想将数组从大到小排好序...

    度度熊有一个N个数的数组 他想将数组从大到小排好序 但是萌萌的度度熊只会下面这个操作 任取数组中的一个数然后将它放置在数组的最后一个位置 问最少操作多少次可以使得数组从小到大有序 输入描述 首先输入一个正整数N 接下来的一行输入N个整数 N