有趣的排序

[编程题]有趣的排序 C++腾讯 [编程题]有趣的排序 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M 度度熊有一个N个数的数组,他想将数组从小到大 排好序,但是萌萌的度度熊只会下面这个操作: 任取数组中的一个数然后将它放置在数组的最后一个位置。 问最少操作多少次可以使得数组从小到大有序? 输入描述: 首先输入一个正整数N,接下来的一行输入N个整数。(N <= 50, 每个数的绝对值小... 阅读详情
度度熊有一个N个数的数组,他想将数组从小到大 排好序,但是萌萌的度度熊只会下面这个操作:
任取数组中的一个数然后将它放置在数组的最后一个位置。
问最少操作多少次可以使得数组从小到大有序? 
输入描述:
首先输入一个正整数N,接下来的一行输入N个整数。(N <= 50, 每个数的绝对值小于等于1000)


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

输入例子1:
4
19 7 8 25

输出例子1:

2

思路很简单,类似插入排序。

直接上代码

#include <bits/stdc++.h>
using namespace std;

int Sort (int a[], int aa[], int n) {
    int i, j, k, l, cnt = 0;
    for (i = 0; i < n - 1; ++i) {
        for (j = 0; j < n; ++j) {
            if (a[j] == aa[i]) {
                k = j;
            }
            if (a[j] == aa[i + 1]) {
                l = j;
            }
        }
        if (k > l) {
            int tmp = a[n - 1];
            a[n - 1] = a[l];
            for (int t = l; t < n - 2; ++t) {
                a[t] = a[t + 1];
            }
            a[n - 2] = tmp;
            cnt++;
        }
    }
    return cnt;
}

int main() {
    int n;
    cin >> n;
    int a[50] = {0}, aa[50] = {0};
    for (int i = 0; i < n; ++i) {
        scanf("%d", &a[i]);
        aa[i] = a[i];
    }
    sort(aa, aa + n);
    printf("%d\n", Sort (a, aa, n));
    return 0;
}

C#实现珠排序算法——一种有趣的排序方式 最终,我们将珠子所在的列按照从上到下的顺序排列,就得到了排序结果。具体来说,在外层循环中,我们遍历数组中的每一个元素,在内层循环中,我们将该元素对应数量的Bead对象挂载到一个链表上。在GetResult方法中,我们遍历珠子列,并将其中落下的珠子所在的列对应的数字添加到结果数组中,然后返回该结果数组。在Bead类中,我们定义了一个bool类型的Value属性表示珠子的状态(落下或者未落下),两个Bead类型的NextBead和PrevBead属性分别表示该珠子的下一颗珠子和上一颗珠子。 阅读详情

相关推荐

幼儿园中班数学:有趣的排序(ppt课件)_精美学习课件ppt

幼儿园中班数学:有趣的排序(ppt课件)_精美学习课件ppt

数组排序 计算最少交换次数

题目来源:第七届蓝桥杯省赛c/c++b组 第九题 交换瓶子 有N个瓶子,编号 1 ~ N,放在架子上。 比如有5个瓶子: 2 1 3 5 4 要求每次拿起2个瓶子,交换它们的位置。 经过若干次后,使得瓶子的序号为: 1 2 3 4 5 对于这么简单的情况,显然,至少需要交换2次就可以复位。 如果瓶子更多呢?你可以通过编程来解决。 输入格式为两行: 第一行: 一个正整数N(N<...

Meloor的博客 1万+

Java开发者必看:如何快速对接七大主流快递API(附完整代码示例)

本文为Java开发者提供了快速对接顺丰、京东、DHL等七大主流快递API的实战指南。文章深入剖析了不同API的认证、通信协议与参数差异,并提供了高可用的HTTP客户端配置、通用签名工具、SOAP请求处理以及可扩展的领域模型与适配层设计等完整代码示例,帮助开发者构建统一、健壮的物流集成框架,显著提升开发效率。

tech5的博客 727

3.14 01串排序

将01串首先按照长度排序,其次按1的个数的多少排序,最后按ASCII码排序。 输入样例: 10011111 00001101 10110101 1 0 1100 输出样例: 0 1 1100 1010101 00001101 10011111 #include #include #include #include using namespace std; int o

weixin_37289816的博客 988

电子技术设计——16×16点阵汉字显示设计

同时,设计还应注重提升显示品质,以保证汉字的稳定展示和观感舒适。本设计的目的是构建一个能够准确在LED点阵上展示汉字的系统,并允许用户通过输入设备来选择所需的汉字,我们将验证设计方案的实际操作性和效果,以确保其满足设计目标。在LED点阵显示和汉字信息处理技术的结合下,研究者们着手研究如何在LED点阵上有效地显示汉字,并提出了一系列显示算法和优化策略,旨在实现清晰且易于阅读的汉字显示效果。首先,你需要准备16×16的LED点阵面板,通常这些点阵是8×8点阵的两倍,因此可以由两个8×8的点阵组合而成。

weixin_68094467的博客 1532

网易 广州 梦幻西游端游 客户端社招笔试题 2024

4道算法题,时间2小时,牛客网笔试注:采用OJ模式,需要自己处理输入、输出。

z2014z的博客 1812

Problem H 排序练习01(难度5)

Problem H: 排序练习01(难度5) Description     相比普通的排序大家都做的比较厌烦了,那么这次就来道不普通的题。给你一些数,你所需要做的是把这些数按照个位数的大小从大到小排序,如果个位一样则看十位,如果十位还一样则看百位,以此类推。 Input 输入数据第一行有一个 T ,代表着输入数据有 T 组, 每组数据包含一个数字 N(N ) 和 N 个数,

Rainbow__sea的博客 582

Win上通过Jconsole查看Java程序资源占用情况(教程总结,一篇就够了)

JConsole 是一个内置 Java 性能分析器,Java 5开始 引入了 JConsole。可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole来监控 Java 应用程序性能和跟踪 Java 中的代码。Jconsole工具查看程序的资源占用请求。安装jdk时bin目录有jconsole.exe工具,或者通过 Win + R,输入jconsole.exe启动jconsole( 可以从命令行直接输入jconsole。

明生的博客 6239

牛客网 有趣的排序

[编程题] 有趣的排序 时间限制:1秒 空间限制:32768K 度度熊有一个N个数的数组,他想将数组从大到小排好序,但是萌萌的度度熊只会下面这个操作: 任取数组中的一个数然后将它放置在数组的最后一个位置。 问最少操作多少次可以使得数组从小到大有序?  输入描述: 首先输入一个正整数N,接下来的一行输入N个整数。(N 输出描述: 输出一个整数表示最

qq_31843487的博客 493

手把手教你为STM32设备生成自定义MAC地址(基于芯片ID的5种算法对比)

本文详细介绍了基于STM32芯片ID生成自定义MAC地址的5种算法,包括直接截取、异或折叠、CRC32哈希、自定义混合运算及SHA-256摘要。通过对比分析各算法的计算复杂度、唯一性及适用场景,帮助嵌入式开发者根据项目规模与资源,选择最合适的方案,确保设备MAC地址的唯一性与合规性。

weixin_29170327的博客 526

HSM 网络安全 信息安全

HSM HSM信息安全功能 汽车电子网络安全中HSM 的应用场景 选择适合汽车电子网络安全的 HSM 符合汽车安全标准和法规要求的HSM HSM 在汽车电子网络安全中的可靠性和安全性 评估汽车电子网络的安全性 汽车 HSM(Hardware Security Module)模块开发 汽车 HSM(Hardware Security Module)模块测试

天赐好车的博客 1235

【算法题】有趣的排序

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

xiaxzhou的博客 2399

YOLOv8与注意力机制融合:EMA(高效多维注意力)的原理剖析与实战应用

本文介绍了如何在YOLOv8目标检测模型中集成EMA(高效多尺度注意力)机制。主要内容包括:EMA注意力机制的工作原理解析,展示其多尺度特征融合和高效计算特性;详细的环境配置与依赖安装指南;EMA模块的完整代码实现,包含分组处理、空间注意力权重计算和特征融合等关键步骤;以及将EMA集成到YOLOv8网络结构的方法。通过添加EMA模块,可以提升模型对关键特征的关注能力,有效抑制背景干扰,从而增强目标检测性能。本教程提供了从原理到实现的完整解决方案。

m0_64661770的博客 146

有趣的排序——百度2017春招

有趣的排序题目链接 度度熊有一个N个数的数组,他想将数组从小到大 排好序,但是萌萌的度度熊只会下面这个操作: 任取数组中的一个数然后将它放置在数组的最后一个位置。 问最少操作多少次可以使得数组从小到大有序?  输入描述: 首先输入一个正整数N,接下来的一行输入N个整数。(N 输出描述: 输出一个整数表示最少的操作次数。 输入例子1: 4 19 7 8 25

say_haha的博客 631

LeRobot 入门教程(十三)集成自定义的机器人、相机等硬件

本文详细介绍了如何将自定义机器人集成到LeRobot生态系统的完整流程。主要内容包括:1)硬件准备与通信接口选择;2)继承Robot基类实现标准接口;3)定义观察特征和动作特征;4)处理设备连接/断开逻辑;5)支持校准与配置;6)实现核心传感器读取和动作发送功能;7)可选遥操作器集成;8)遵循4项规范打包自定义设备(命名前缀、类名对应、文件结构、模块暴露);9)提供了完整实现示例。通过该方案,开发者可让自定义机器人兼容LeRobot的数据采集、控制管道和策略训练等全套工具链。

2506_90492529的博客 1902

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

有趣的冒泡排序实现

非常有趣的 冒泡排序 ,不多说,看代码!   public class SleepSort { public static void main(String[] args) { int[] ints = {1,4,7,3,8,9,2,6,5}; SortThread[] sortThreads = new SortThread[ints.lengt

dupeng41255的专栏 806

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

[百度]有趣的排序

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

koko2015c的博客 806

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

有趣的桶排序

程序员的核心技能之一就是算法,谈到算法,似乎都是从排序开始。对一组已知范围的数据进行排序,最快的算法是什么呢?快速排序?希尔排序?非也,非也~是本文的主角“桶排序”!  来看一个实际例子吧:已知一组范围在0~10的数据(如:9,5,2,7,7),你有没有什么好方法编写一段程序,将数据从大到小输出呢?  看到这样的题目,相信很多人第一反应跟我一样,就是将这些数据进行比较,然后进行位置的交换...

219

聊一聊那些脑洞大开、有趣又奇葩的排序算法

作者:王争,前Google工程师 微信公众号:小争哥 前段时间,网上疯传这样一个段子,”写完这个排序算法之后,我就被开除了“。我们一块来看看,他到底写了什么样的代码,能让主管一怒之下,把他开除了。 当我看到这段代码的时候,首先感叹的是,作者真的脑洞大开啊。不过,你还真先别嘲笑作者的智商。如果你去查一下资料的话,你就发现,这是一个经典的排序算法,叫做”睡眠排序“。哈哈,是不是很形象呢? 为了防...

weixin_33768481的博客 1558

算法分析—计数排序(一种有趣的排序方法)

以前自己的博客总是零零散散,学习的东西也有记录,但是没有归纳到一块儿,后来也就慢慢丢了。

你的博客 476
上一篇: 手写vector
下一篇: 不等式数列
凝视深空
博客等级 码龄11年 16粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值