5885. 使每位学生都有座位的最少移动次数
5885. 使每位学生都有座位的最少移动次数
一个房间里有 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 次移动。
提示:
- n == seats.length == students.length
- 1 <= n <= 100
- 1 <= seats[i], students[j] <= 100
解题思路
使用贪心的思路,先将两个数组进行排序,例如对于下标最小的学生,我们必然需要找下标最小的座位,才能使得花费最小,如此类推,我们只要按学生的下标分配对应下标的座位就能使得移动次数最小,例如下标0的学生分配下标为0的座位。
代码
class Solution {public int minMovesToSeat(int[] seats, int[] students) {int res=0;Arrays.sort(seats);Arrays.sort(students);for (int i = 0; i < seats.length; i++) {res+=Math.abs(seats[i]-students[i]);}return res;}
}
5885. 使每位学生都有座位的最少移动次数相关推荐
- LeetCode简单题之使每位学生都有座位的最少移动次数
题目 一个房间里有 n 个座位和 n 名学生,房间用一个数轴表示.给你一个长度为 n 的数组 seats ,其中 seats[i] 是第 i 个座位的位置.同时给你一个长度为 n 的数组 studen ...
- LeetCode 2037. 使每位学生都有座位的最少移动次数
文章目录 1. 题目 2. 解题 1. 题目 一个房间里有 n 个座位和 n 名学生,房间用一个数轴表示. 给你一个长度为 n 的数组 seats ,其中 seats[i] 是第 i 个座位的位置. ...
- 2037. 使每位学生都有座位的最少移动次数
一个房间里有 n 个座位和 n 名学生,房间用一个数轴表示.给你一个长度为 n 的数组 seats ,其中 seats[i] 是第 i 个座位的位置.同时给你一个长度为 n 的数组 students ...
- 排序——使每位学生都有座位的最少移动次数
一.问题描述 一个房间里有 n 个座位和 n 名学生,房间用一个数轴表示.给你一个长度为 n 的数组 seats ,其中 seats[i] 是第 i 个座位的位置.同时给你一个长度为 n 的数组 st ...
- 练习:每位学生(姓名,年龄)都有自己的家庭住址。那么,既然有对应关系,则将学生对象和家庭住址存储到map集合中。学生作为键, 家庭住址作为值。
/* 练习:每位学生(姓名,年龄)都有自己的家庭住址.那么,既然有对应关系, 则将学生对象和家庭住址存储到map集合中.学生作为键, 家庭住址作为值.> 注意,学生姓名相同并且年龄相同视为同一名 ...
- 不在上学了能不能考计算机二级,好多学生都问到底要不要参加计算机二级考试?...
好多学生都问到底要不要参加计算机二级考试? 时间:2015-08-31 来源:科泰教育 曾经有人这么形容我们的学历,证书与文凭,说上学的时候好比就是做火车,而文凭,证书就是在这个火车上的车票.不同的毕 ...
- 衡水中学计算机老师,衡水中学资深老师:电脑阅卷本就是一种淘汰机制,学生都不以为然...
原标题:衡水中学资深老师:电脑阅卷本就是一种淘汰机制,学生都不以为然 衡水中学老师:电脑阅卷也是一种淘汰机制 放眼国内的教育,可以说绝大部分的学生都逃不过两次重要的考试--中考和高考!而这两场考试都是 ...
- MIT投入10亿美元,让所有学生都学习AI课程
文章来源:ATYUN AI平台 麻省理工学院(MIT)今天宣布了一项10亿美元的计划,旨在重塑学院的运作方式,并将AI作为所有学生课程的一部分.麻省理工学院院长L. Rafael Reif说,正在进行 ...
- 用python给老师排课表_怎样排出每位老师都满意的课表?附答案!
原标题:怎样排出每位老师都满意的课表?附答案! 期末临近,寒假还会远吗? 操劳的老师已经开始煎熬倒计时了, 据说熬过这最后的时刻,就可以拥抱寒假,迎接春节呐. 虽说期末事多, 但老师们忙碌归忙碌, 却 ...
最新文章
- Redis主从握手流程,你真的了解了吗?
- ActionContextCleanUp作用
- Scala在挖财的应用实践
- python高级语法-套接字编程之UDP和TCP编程
- 春节直播大战搜狐另辟蹊径 40余场直播引领牛年直播综艺新风尚
- 使用tail和head读取字节流
- linux tty 软件包,Linux TTY framework(2)_软件架构
- Forever 0.5 (计算几何思维)
- 美图秀秀计算机教程,美图秀秀怎么抠图 美图秀秀抠图详细教程
- prometheus实战(一) 原理介绍
- Android设备上px(像素)、dpi(像素密度)、dip(密度无关像素)之间的关系
- C语言:解决九宫格问题
- 信息搜集-敏感信息泄露
- 有关汉字编码、拼音输入法 大搜罗
- HDU多校第六场——HDU6638 Snowy Smile(线段树区间合并)
- 从0-1的CTF比赛环境搭建过程
- 蒸妙熏蒸,让脚部保养通经络
- Windows 10(Office 2019)下安装mathtype 6.9/7.4以及相关冲突问题解决
- 计算机管理老是自动打开,win10系统打开设备管理器后一直自动刷新的设置方案...
- 实验: GVRP 配置,三层交换机通讯 ,VLAN 间路由,单臂路由与路由器子接口的配置,vlan-单臂路由技术
热门文章
- 两个栈实现一个队列与两个队列实现一个栈
- 【C language】动态数组的创建和使用
- 【汇编语言】(王爽)实验4解答
- Java集合(六):专用集合和遗留类
- 最强Android教程!2021年Android面经分享,大厂面经合集
- [币严区块链]以太坊(ETH)Dapp开发入门教程之宠物商店领养游戏
- Docker - 避免启动container后运行shell脚本执行完成后docker退出container
- Android常用的一些make命令(转载)--不错
- 24小时制时间格式和12小时制时间格式
- 有个需求mybatis 插入的时候不知道有哪些字段,需要动态的传入值和字段