Skip to content

Commit 93de030

Browse files
committed
feat: add solutions to lc problem: No.2037
No.2037.Minimum Number of Moves to Seat Everyone
1 parent 58429b9 commit 93de030

File tree

6 files changed

+147
-2
lines changed

6 files changed

+147
-2
lines changed

solution/2000-2099/2037.Minimum Number of Moves to Seat Everyone/README.md

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,66 @@
7676
<!-- 这里可写当前语言的特殊实现逻辑 -->
7777

7878
```python
79-
79+
class Solution:
80+
def minMovesToSeat(self, seats: List[int], students: List[int]) -> int:
81+
seats.sort()
82+
students.sort()
83+
return sum(abs(seats[i] - students[i]) for i in range(len(seats)))
8084
```
8185

8286
### **Java**
8387

8488
<!-- 这里可写当前语言的特殊实现逻辑 -->
8589

8690
```java
91+
class Solution {
92+
public int minMovesToSeat(int[] seats, int[] students) {
93+
Arrays.sort(seats);
94+
Arrays.sort(students);
95+
int ans = 0;
96+
for (int i = 0; i < seats.length; ++i) {
97+
ans += Math.abs(seats[i] - students[i]);
98+
}
99+
return ans;
100+
}
101+
}
102+
```
103+
104+
### **C++**
105+
106+
```cpp
107+
class Solution {
108+
public:
109+
int minMovesToSeat(vector<int>& seats, vector<int>& students) {
110+
sort(seats.begin(), seats.end());
111+
sort(students.begin(), students.end());
112+
int ans = 0;
113+
for (int i = 0; i < seats.size(); ++i)
114+
ans += abs(seats[i] - students[i]);
115+
return ans;
116+
}
117+
};
118+
```
87119
120+
### **Go**
121+
122+
```go
123+
func minMovesToSeat(seats []int, students []int) int {
124+
sort.Ints(seats)
125+
sort.Ints(students)
126+
ans := 0
127+
for i := range students {
128+
ans += abs(seats[i] - students[i])
129+
}
130+
return ans
131+
}
132+
133+
func abs(x int) int {
134+
if x >= 0 {
135+
return x
136+
}
137+
return -x
138+
}
88139
```
89140

90141
### **...**

solution/2000-2099/2037.Minimum Number of Moves to Seat Everyone/README_EN.md

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,64 @@ In total, 1 + 3 + 0 + 0 = 4 moves were used.
7171
### **Python3**
7272

7373
```python
74-
74+
class Solution:
75+
def minMovesToSeat(self, seats: List[int], students: List[int]) -> int:
76+
seats.sort()
77+
students.sort()
78+
return sum(abs(seats[i] - students[i]) for i in range(len(seats)))
7579
```
7680

7781
### **Java**
7882

7983
```java
84+
class Solution {
85+
public int minMovesToSeat(int[] seats, int[] students) {
86+
Arrays.sort(seats);
87+
Arrays.sort(students);
88+
int ans = 0;
89+
for (int i = 0; i < seats.length; ++i) {
90+
ans += Math.abs(seats[i] - students[i]);
91+
}
92+
return ans;
93+
}
94+
}
95+
```
96+
97+
### **C++**
98+
99+
```cpp
100+
class Solution {
101+
public:
102+
int minMovesToSeat(vector<int>& seats, vector<int>& students) {
103+
sort(seats.begin(), seats.end());
104+
sort(students.begin(), students.end());
105+
int ans = 0;
106+
for (int i = 0; i < seats.size(); ++i)
107+
ans += abs(seats[i] - students[i]);
108+
return ans;
109+
}
110+
};
111+
```
80112
113+
### **Go**
114+
115+
```go
116+
func minMovesToSeat(seats []int, students []int) int {
117+
sort.Ints(seats)
118+
sort.Ints(students)
119+
ans := 0
120+
for i := range students {
121+
ans += abs(seats[i] - students[i])
122+
}
123+
return ans
124+
}
125+
126+
func abs(x int) int {
127+
if x >= 0 {
128+
return x
129+
}
130+
return -x
131+
}
81132
```
82133

83134
### **...**
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution {
2+
public:
3+
int minMovesToSeat(vector<int>& seats, vector<int>& students) {
4+
sort(seats.begin(), seats.end());
5+
sort(students.begin(), students.end());
6+
int ans = 0;
7+
for (int i = 0; i < seats.size(); ++i)
8+
ans += abs(seats[i] - students[i]);
9+
return ans;
10+
}
11+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
func minMovesToSeat(seats []int, students []int) int {
2+
sort.Ints(seats)
3+
sort.Ints(students)
4+
ans := 0
5+
for i := range students {
6+
ans += abs(seats[i] - students[i])
7+
}
8+
return ans
9+
}
10+
11+
func abs(x int) int {
12+
if x >= 0 {
13+
return x
14+
}
15+
return -x
16+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution {
2+
public int minMovesToSeat(int[] seats, int[] students) {
3+
Arrays.sort(seats);
4+
Arrays.sort(students);
5+
int ans = 0;
6+
for (int i = 0; i < seats.length; ++i) {
7+
ans += Math.abs(seats[i] - students[i]);
8+
}
9+
return ans;
10+
}
11+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
class Solution:
2+
def minMovesToSeat(self, seats: List[int], students: List[int]) -> int:
3+
seats.sort()
4+
students.sort()
5+
return sum(abs(seats[i] - students[i]) for i in range(len(seats)))

0 commit comments

Comments
 (0)