From 7c60dee83b436e8e8a667bf9f191beced8de4fc3 Mon Sep 17 00:00:00 2001 From: Jack Sangdahl Date: Mon, 10 Mar 2025 00:36:13 -0600 Subject: chore: move cpp and rust code to directory --- other/sort_array_parity.cpp | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 other/sort_array_parity.cpp (limited to 'other/sort_array_parity.cpp') diff --git a/other/sort_array_parity.cpp b/other/sort_array_parity.cpp new file mode 100644 index 0000000..33f02b1 --- /dev/null +++ b/other/sort_array_parity.cpp @@ -0,0 +1,46 @@ +#include "leetcode.h" + +class Solution { +public: + vector sortArrayByParity(vector &nums) { + /* + * important to assign vector values first: + * vector... var(size, vals) + */ + vector ans(nums.size(), 0); + + /* + * start at first element (0) + * end at "last" element minus 1 + * because arrays initialize at 0 + */ + int start = 0, end = nums.size() - 1; + + for (int i = 0; i < nums.size(); i++) { + if (nums[i] % 2 == 1) + /* + * odd + * assign "last" array value to current nums value + * and incrementally decrease end when necessary + */ + ans[end--] = nums[i]; + else + /* + * even + * assign "first" array value to current nums value + * and incrementally increase start when necessary + */ + ans[start++] = nums[i]; + } + return ans; + } +}; + +int main() { + vector nums = {3, 1, 2, 4}; + Solution obj; + for (int i = 0; i < nums.size(); i++) + cout << nums[i] << ' '; + cout << endl; + obj.sortArrayByParity(nums); +} -- cgit v1.2.3