sort-array-by-parity py3

This commit is contained in:
Sangeeth Sudheer 2022-05-03 00:55:07 +05:30
parent 910bc98e85
commit eff381bcd4
2 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,23 @@
Given an integer array `nums`, move all the even integers at the beginning of the array followed by all the odd integers.
Return _**any array** that satisfies this condition_.
**Example 1:**
Input: nums = [3,1,2,4]
Output: [2,4,3,1]
Explanation: The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.
**Example 2:**
Input: nums = [0]
Output: [0]
**Constraints:**
* `1 <= nums.length <= 5000`
* `0 <= nums[i] <= 5000`
https://leetcode.com/problems/sort-array-by-parity

View File

@ -0,0 +1,17 @@
class Solution:
def sortArrayByParity(self, nums: List[int]) -> List[int]:
ins_pos, next_pos = 0, 0
while ins_pos < len(nums) and next_pos < len(nums):
if nums[ins_pos] & 1 == 0:
ins_pos += 1
next_pos = ins_pos
continue
if nums[next_pos] & 1 == 0:
nums[ins_pos], nums[next_pos] = nums[next_pos], nums[ins_pos]
ins_pos += 1
next_pos += 1
return nums