From eff381bcd4364b44eabb7d47384fcb4abc88608a Mon Sep 17 00:00:00 2001 From: Sangeeth Sudheer Date: Tue, 3 May 2022 00:55:07 +0530 Subject: [PATCH] sort-array-by-parity py3 --- 0941_sort-array-by-parity/README.md | 23 +++++++++++++++++++ 0941_sort-array-by-parity/python3/solution.py | 17 ++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 0941_sort-array-by-parity/README.md create mode 100644 0941_sort-array-by-parity/python3/solution.py diff --git a/0941_sort-array-by-parity/README.md b/0941_sort-array-by-parity/README.md new file mode 100644 index 0000000..2fcdf38 --- /dev/null +++ b/0941_sort-array-by-parity/README.md @@ -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 \ No newline at end of file diff --git a/0941_sort-array-by-parity/python3/solution.py b/0941_sort-array-by-parity/python3/solution.py new file mode 100644 index 0000000..18bb882 --- /dev/null +++ b/0941_sort-array-by-parity/python3/solution.py @@ -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