LeetCode刷题集(二)(LeetCode 2037使每位学生都有座位的最少移动次数)

news2024/9/22 21:24:38

学习目标:

掌握LeetCode2037使每位学生都有座位的最少移动次数


题目内容:

一个房间里有 n 个座位和 n 名学生,房间用一个数轴表示。给你一个长度为 n 的数组 seats ,其中 seats[i] 是第 i 个座位的位置。同时给你一个长度为 n 的数组 students ,其中 students[j] 是第 j 位学生的位置。你可以执行以下操作任意次:增加或者减少第 i 位学生的位置,每次变化量为 1 (也就是将第 i 位学生从位置 x 移动到 x + 1 或者 x - 1)请你返回使所有学生都有座位坐的 最少移动次数 ,并确保没有两位学生的座位相同。
请注意,初始时有可能有多个座位或者多位学生在 同一 位置。

示例1、输入:seats = [3,1,5], students = [2,7,4]
输出:4
解释:学生移动方式如下:
第一位学生从位置 2 移动到位置 1 ,移动 1 次。
第二位学生从位置 7 移动到位置 5 ,移动 2 次。
第三位学生从位置 4 移动到位置 3 ,移动 1 次。
总共 1 + 2 + 1 = 4 次移动。

示例2、

输入:seats = [4,1,5,9], students = [1,3,2,6]
输出:7
解释:学生移动方式如下:
第一位学生不移动。
第二位学生从位置 3 移动到位置 4 ,移动 1 次。
第三位学生从位置 2 移动到位置 5 ,移动 3 次。
第四位学生从位置 6 移动到位置 9 ,移动 3 次。
总共 0 + 1 + 3 + 3 = 7 次移动。

示例3、输入:seats = [2,2,6,6], students = [1,3,2,6]
输出:4
解释:学生移动方式如下:
第一位学生从位置 1 移动到位置 2 ,移动 1 次。
第二位学生从位置 3 移动到位置 6 ,移动 3 次。
第三位学生不移动。
第四位学生不移动。
总共 1 + 3 + 0 + 0 = 4 次移动。


题目分析时间:

首先我们一拿到本题,我们应该想象一下,本题的解题思路,我的思路是先把它排序一下,让他的顺序从小到大进行排序,那么如果我们用c语言如何对数组进行排序呢?我们要是手写一个排序的话时间复杂度肯定很高那么这个时候我们就想到了利用c语言中的库函数qsort,其底层是用快速排序来写的,时间复杂度极大的得到了提高,底下图片就是qsort的函数,那么我们已经把数据排序好了,这个时候是不是在用每个学生的数据进行相减就能解出来啦,对的没错!
在这里插入图片描述
在这里插入图片描述


代码产出:

int cmp(const void* s1,const void* s2)
{
    return (*(int*)s1 - *(int*)s2);
}

int minMovesToSeat(int* seats, int seatsSize, int* students, int studentsSize){
    qsort(seats,seatsSize,sizeof(int),cmp);
    qsort(students,studentsSize,sizeof(int),cmp);
    int res = 0;
    for(int i = 0;i < studentsSize;i++)
    {
        res += (abs(seats[i] - students[i]));
    }
    return res;
}

这里的abs是去绝对值的意思!好啦今日的分享结束啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/440338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构-排序3(终章)

前言&#xff1a; 上一章&#xff0c;对交换排序的冒牌和快排做了复盘&#xff0c;这一章对&#xff0c;归并排序以及非比较排序中的计数排序做一个复盘。 目录 2.4归并排序 2.4.1规定递归 2.4.2归并非递归 2.5非比较排序 2.5.1计数排序 2.6排序的稳定性分析 2.6.1冒…

【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解

前言 注意力机制一直是一个比较热的话题&#xff0c;其实在很早之前就提出了&#xff0c;我们在学习图像分类时在SENet就见到过&#xff08;直通车&#xff1a;经典神经网络论文超详细解读&#xff08;七&#xff09;——SENet&#xff08;注意力机制&#xff09;学习笔记&…

金陵科技学院五年一贯制专转本管理学原理考试大纲

金陵科技学院五年一贯制专转本管理学原理考试大纲 一、考核对象 本课程的考核对象为五年一贯制高职专转本“旅游管理”专业入学考试考生。 二、考核方式 本课程考核采用闭卷笔试的方式。 三、命题依据及原则 1、命题依据 参考书目&#xff1a;《管理学——原理与方法》 …

Docker Swarm集群企业案例实战

1. Docker Swarm集群企业案例实战 Docker Swarm 和 Docker Compose 一样&#xff0c;都是 Docker 官方容器编排项目&#xff0c;但不同的是&#xff0c;Docker Compose 是一个在单个服务器或主机上创建多个容器的工具&#xff0c;而 Docker Swarm 则可以在多个服务器或主机上创…

驼峰式匹配-力扣1023-java

一、题目描述 如果我们可以将小写字母插入模式串 pattern 得到待查询项 query&#xff0c;那么待查询项与给定模式串匹配。&#xff08;我们可以在任何位置插入每个字符&#xff0c;也可以插入 0 个字符。&#xff09; 给定待查询列表 queries&#xff0c;和模式串 pattern&a…

未来技术方向——“乐高式”可组装式开发能力

技术正在改变各行各业的发展&#xff0c;Gartner的主要战略技术趋势一直是行业的技术风向标之一。近3年&#xff0c;Gartner在主要的战略技术趋势中都提到组装式技术&#xff0c;2021年首次提出组装式企业&#xff0c;2022年提出可组装式应用&#xff0c;2023年在2项主要战略技…

ModuleNotFoundError: No module named ‘d2l’

目录 1. 下载李沐老师分享的源代码 step1&#xff1a;下载李沐老师分享的源代码&#xff1a; step3&#xff1a;Anaconda Prompt中安装d2l(这个l是英文) step4&#xff1a;运行代码&#xff0c;成功&#xff1a; &#xff08;番外&#xff09;ModuleNotFoundError: No mod…

【微服务】5、声明式 HTTP 客户端 —— Feign

目录 一、RestTemplate 不好的地方二、Feign 是什么三、使用四、自定义 Feign 的配置(1) Feign 的几个常见配置(2) 配置 Feign 的日志级别① 通过配置文件② Java 代码配置日志级别 五、Feign 性能优化(1) 性能优化介绍(2) 修改 Feign 底层的 HTTP 请求客户端 六、Feign 的最佳…

C++:std::function模板类(前言):为什么有了函数指针还需要Functional

为什么有了函数指针还有 Functional 1: 函数指针定义2&#xff1a; 函数指针结论3&#xff1a;疑问4&#xff1a; Function来源5&#xff1a;Functional 特点 1: 函数指针定义 在C中可以使用指针指向一段代码&#xff0c;这个指针就叫函数指针&#xff0c;假设有下面一段代码 …

交友项目【首页推荐,今日佳人,佳人信息】

目录 1&#xff1a;首页推荐 1.1&#xff1a;接口地址 1.2&#xff1a;流程分析 1.3&#xff1a;代码实现 2&#xff1a;今日佳人 1.1&#xff1a;接口地址 1.2&#xff1a;流程分析 1.3&#xff1a;代码实现 3&#xff1a;佳人信息 1.1&#xff1a;接口地址 1.2&am…

计算机基础--MySQL--索引

参考文献 [MySQL索引连环18问&#xff01;] https://zhuanlan.zhihu.com/p/364041898[深入理解MySQL索引] https://www.infoq.cn/article/ojkwyykjoyc2ygb0sj2c[聚集索引和非聚集索引的区别] https://juejin.cn/post/7001094401858469918[索引分类] https://blog.csdn.net/dd2…

【消费战略】解读100个食品品牌丨王小卤 4年10亿爆品破局

爆品破局 王小卤的聚焦发展! 王小卤创建于 2016 年&#xff0c;与饮料行业的独角兽元气森林同年。 相较于元气森林的快速增长&#xff0c;王小卤历经 三年坎坷之路&#xff0c;直至 2019 年才踏上高增长的赛道&#xff0c;实现四年十亿的增长。 “所有的消费品都值得重新 做…

RHCSA练习作业(二)

目录 题目一 题目二 题目三 第四题 第五题 题目一 文件查看&#xff1a;查看/opt/passwd文件的第六行&#xff08;使用head和tail指令&#xff09; 代码如下&#xff1a; head -6 /opt/passwd | tail -1 题目二 在/etc及其子目录中&#xff0c;查找host开头的文件&#x…

纯净Python环境的安装以及配置PyCharm编辑器

前言 优质的教程可以让我们少走很多弯路&#xff0c;这一点毋庸置疑。去年二月我接触了Python&#xff0c;并找到了一份优质的配置教程&#xff0c;让我能够快速上手Python的学习。现在&#xff0c;一年多过去了&#xff0c;我已经有了很大的进步和变化&#xff0c;这也让我更…

ARM kernel 内核的移植 - 从三星官方内核开始移植

一、内核移植初体验 1、三星官方移植版内核获取 (1) 从网盘下载源码包。 (2) 这个文件最初是来自于三星的 SMDKV210 开发板附带的光盘资料。 2、构建移植环境 (1) Windows下建立工程。 (2) ubuntu下解压。 3、配置编译下载尝试 (1) 检查 Makefile 中 ARCH 和 CROSS_COMPI…

手把手教你Python爬虫

前言 python爬虫技术在java开发工作中属于工具性的技术属性&#xff0c;所以我这里就只从爬取一个网站的数据为例作为教学内容&#xff0c;具体的基础学习与其它的扩展知识内容&#xff0c;我会以链接的形式给出&#xff0c;若有兴趣可自行点击学习。 python基础知识教学 Pyth…

怎么压缩图片的体积大小,4款软件分享

怎么压缩图片的体积大小&#xff1f;因为在日常生活和工作中&#xff0c;我们常常会遇到需要压缩图片大小的情况。图片的大小是由像素点数量和每个像素的颜色深度共同决定的&#xff0c;一般来说&#xff0c;像素点数量越多&#xff0c;每个像素的颜色深度越高&#xff0c;图片…

四百元以内哪种耳机音质好?2023便宜音质好的蓝牙耳机推荐

现如今&#xff0c;蓝牙耳机的发展速度越来越快&#xff0c;不少人对于其音质方面的要求也越来越高。最近看到很多人问&#xff0c;有没有便宜音质又好的蓝牙耳机&#xff1f;针对这个问题&#xff0c;我来给大家推荐几款便宜音质好的蓝牙耳机&#xff0c;一起来看看吧。 一、…

怎么远程控制电脑

为什么要从另一台电脑远程控制电脑&#xff1f; 如今&#xff0c;Splashtop已广泛应用于各个领域。 在很多情况下&#xff0c;您需要从另一台远程电脑控制一台电脑。 这里演示了两个例子&#xff1a; 1&#xff1a;当您不在同一楼层时&#xff0c;您的同事需要您的帮助来解决…

阿里云张献涛:云原生计算基础设施助力汽车行业数字化升级

2023 年阿里云峰会北京站《云上智能汽车》论坛&#xff0c;阿里云智能基础产品部副总裁、阿里云智能弹性计算 & 无影产品线总经理张献涛&#xff0c;发表了《云原生计算基础设施助力汽车行业数字化升级》的主题演讲。 当前&#xff0c;汽车行业的数字化浪潮已经渗透到汽车设…