Re: [闲聊] 每日LeetCode

楼主: yam276 ('_')   2023-09-29 00:06:34
※ 引述《Rushia (みけねこ的鼻屎)》之铭言:
: https://leetcode.com/problems/sort-array-by-parity/description
: 905. Sort Array By Parity
: 给你一个整数阵列 nums,返回排序完的 nums,这个阵列的左边都是偶数右边都是奇数。
: 思路:
: 1.用双指标来处理,如果左边的数字是偶数则左边指标往右,如果右边数字是奇数则右边
: 指标往左,如果左边是奇数右边是偶数则交换两边的数并两边同时缩小。
思路:
1. 同上双指标,不过设定终止条件:
a. 左边的指标是奇数
b. 右边的指标是偶数
a || b 为真 => 交换两者
否则 => 指标继续走
Code:
impl Solution {
pub fn sort_array_by_parity(nums: Vec<i32>) -> Vec<i32> {
let mut result = nums.clone();
let mut left = 0;
let mut right = result.len() - 1;
while left < right {
while (left < right) && (result[left] & 1 == 0) {
left += 1;
}
while (left < right) && (result[right] & 1 == 1) {
right -= 1;
}
if left < right {
result.swap(left, right);
}
}
result
}
}
作者: PyTorch (屁眼火炬)   2023-09-29 00:08:00
大师
作者: Rushia (みけねこ的鼻屎)   2023-09-29 00:10:00
大师
作者: DJYOSHITAKA (Evans)   2023-09-29 00:12:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com