跳到主要内容

2037.使每位学生都有座位的最少移动次数

链接:2037.使每位学生都有座位的最少移动次数
难度:Easy
标签:贪心、数组、排序
简介:请你返回使所有学生都有座位坐的 最少移动次数 ,并确保没有两位学生的座位相同。

题解 1 - cpp

  • 编辑时间:2022-12-31
  • 执行用时:8ms
  • 内存消耗:17.5MB
  • 编程语言:cpp
  • 解法介绍:遍历。
class Solution {
public:
int minMovesToSeat(vector<int>& seats, vector<int>& students) {
sort(seats.begin(), seats.end());
sort(students.begin(), students.end());
int ans = 0;
for (int i = 0; i < seats.size(); i++) ans += abs(seats[i] - students[i]);
return ans;
}
};

题解 2 - rust

  • 编辑时间:2022-12-31
  • 内存消耗:2MB
  • 编程语言:rust
  • 解法介绍:遍历。
impl Solution {
pub fn min_moves_to_seat(seats: Vec<i32>, students: Vec<i32>) -> i32 {
let mut seats = seats;
let mut students = students;
seats.sort();
students.sort();
let mut ans = 0;
for i in 0..seats.len() {
ans += (seats[i] - students[i]).abs();
}
ans
}
}