[闲聊] 每日leetcode 75 - Day7

楼主: yam276 ('_')   2025-06-09 15:08:52
283. Move Zeroes
题目:
给你一个阵列 把0全部移动到最后面
思路:
最简单思路就是粗暴地从左扫到右
用两个指标 write read
非 0 就 nums[write] = nums[read]; write += 1;
最后还要补 0
但题目有个要求是最小化操作
那要改用swap
也很好改 对非 0 成员多一个判断 if write != read
之后 nums.swap(read, write);
这方法不只简单操作还不用补 0
很棒
Code:
impl Solution {
pub fn move_zeroes(nums: &mut Vec<i32>) {
let mut write = 0;
for read in 0..nums.len() {
if nums[read] != 0 {
if write != read {
nums.swap(read, write);
}
write += 1;
}
}
}
}
作者: Wardyal (Wardyal)   2025-06-09 15:16:00
这是啥语言
作者: JIWP (JIWP)   2025-06-09 15:24:00
这题不就跟排序很像
楼主: yam276 ('_')   2025-06-09 15:28:00
差不多
作者: Firstshadow (IamCatづミ'_'ミづ)   2025-06-09 15:28:00
看这沙雕语法应该是go吧

Links booklink

Contact Us: admin [ a t ] ucptt.com