第76天:100天DSA编码挑战
发布: (2025年12月19日 GMT+8 13:48)
1 min read
原文: Dev.to
Source: Dev.to
问题
Bus Conductor – GeeksforGeeks
难度: 简单
准确率: 75.3%
示例
示例 1
- 输入:
chairs = [2, 2, 6, 6],passengers = [1, 3, 2, 6] - 输出:
4 - 解释:
- 第一个乘客从位置 1 移动到 2(1 步)。
- 第二个乘客从位置 3 移动到 6(3 步)。
- 第三和第四个乘客已经坐在椅子上(各 0 步)。
- 总步数 = 1 + 3 + 0 + 0 = 4。
示例 2
- 第一个乘客从位置 2 移动到 1,使用 1 步。
- 第二个乘客从位置 7 移动到 5,使用 2 步。
- 第三个乘客从位置 4 移动到 3,使用 1 步。
- 总步数: 1 + 2 + 1 = 4。
约束
- (1 \le n \le 10^5)
- (1 \le \text{chairs}[i], \text{passengers}[j] \le 10^4)
解法
class Solution:
def findMoves(self, chairs, passengers):
chairs.sort()
passengers.sort()
moves = 0
for c, p in zip(chairs, passengers):
moves += abs(c - p)
return moves