905. Sort Array By Parity

LeetCode easy оригинал: C# #array #csharp #easy #leetcode #sort

Если задан целочисленный массив nums, переместите все четные числа в начало массива, а затем все нечетные. Верните любой массив, удовлетворяющий этому условию.

Пример:

Input: nums = [3,1,2,4]

Output: [2,4,3,1]

C# решение

сопоставлено/оригинал
public class Solution {
    public int[] SortArrayByParity(int[] nums) {
        List<int> evens = new List<int>();
        List<int> odds = new List<int>();
        foreach (int num in nums) {
            if (num % 2 == 0) {
                evens.Add(num);
            } else {
                odds.Add(num);
            }
        }
        evens.AddRange(odds);
        return evens.ToArray();
    }
}

C++ решение

auto-draft, проверить перед отправкой
#include <bits/stdc++.h>
using namespace std;

// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
    public vector<int>& SortArrayByParity(vector<int>& nums) {
        List<int> evens = new List<int>();
        List<int> odds = new List<int>();
        foreach (int num in nums) {
            if (num % 2 == 0) {
                evens.push_back(num);
            } else {
                odds.push_back(num);
            }
        }
        evens.AddRange(odds);
        return evens.ToArray();
    }
}

Java решение

сопоставлено/оригинал
class Solution {
    public int[] sortArrayByParity(int[] nums) {
        List<Integer> evens = new ArrayList<>();
        List<Integer> odds = new ArrayList<>();
        for (int num : nums) {
            if (num % 2 == 0) {
                evens.add(num);
            } else {
                odds.add(num);
            }
        }
        evens.addAll(odds);
        int[] result = new int[nums.length];
        for (int i = 0; i < result.length; i++) {
            result[i] = evens.get(i);
        }
        return result;
    }
}

JavaScript решение

сопоставлено/оригинал
var sortArrayByParity = function(nums) {
    let evens = [];
    let odds = [];
    for (let num of nums) {
        if (num % 2 === 0) {
            evens.push(num);
        } else {
            odds.push(num);
        }
    }
    return evens.concat(odds);
};

Python решение

сопоставлено/оригинал
def sortArrayByParity(nums):
    evens = [x for x in nums if x % 2 == 0]
    odds = [x for x in nums if x % 2 != 0]
    return evens + odds

Go решение

сопоставлено/оригинал
package main

func sortArrayByParity(nums []int) []int {
    evens := []int{}
    odds := []int{}
    for _, num := range nums {
        if num % 2 == 0 {
            evens = append(evens, num)
        } else {
            odds = append(odds, num)
        }
    }
    return append(evens, odds...)
}

Algorithm

Создать два списка: один для четных чисел, другой для нечетных.

Пройтись по массиву и добавить четные числа в один список, а нечетные в другой.

Объединить два списка и вернуть результат.

😎

Вакансии для этой задачи

Показаны активные вакансии с пересечением по тегам задачи.

Все вакансии
Активных вакансий пока нет.