Если задан целочисленный массив 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
Создать два списка: один для четных чисел, другой для нечетных.
Пройтись по массиву и добавить четные числа в один список, а нечетные в другой.
Объединить два списка и вернуть результат.
😎
Вакансии для этой задачи
Показаны активные вакансии с пересечением по тегам задачи.
Активных вакансий пока нет.