From 989e20d15ee85cbbc372c79801d17a4a44733bef Mon Sep 17 00:00:00 2001 From: Jessica Kwok Date: Mon, 22 Mar 2021 09:00:58 -0700 Subject: [PATCH] Add shuffle array challenge --- DIRECTORY.md | 1 + data_structures/arrays/shuffle_array.rb | 36 +++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 data_structures/arrays/shuffle_array.rb diff --git a/DIRECTORY.md b/DIRECTORY.md index 5983249..4eb3612 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -13,6 +13,7 @@ * [Fizz Buzz](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/arrays/fizz_buzz.rb) * [Get Products Of All Other Elements](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/arrays/get_products_of_all_other_elements.rb) * [Remove Elements](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/arrays/remove_elements.rb) + * [Shuffle Array](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/arrays/shuffle_array.rb) * [Sort Squares Of An Array](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/arrays/sort_squares_of_an_array.rb) * [Two Sum](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/arrays/two_sum.rb) * [Two Sum Ii](https://github.com/TheAlgorithms/Ruby/blob/master/data_structures/arrays/two_sum_ii.rb) diff --git a/data_structures/arrays/shuffle_array.rb b/data_structures/arrays/shuffle_array.rb new file mode 100644 index 0000000..93efa84 --- /dev/null +++ b/data_structures/arrays/shuffle_array.rb @@ -0,0 +1,36 @@ +# Challenge name: Shuffle the array +# Given the array nums consisting of 2n elements +# in the form [x1,x2,...,xn,y1,y2,...,yn]. +# Return the array in the form [x1,y1,x2,y2,...,xn,yn]. +# Example 1: +# +# Input: nums = [2,5,1,3,4,7], n = 3 +# Output: [2,3,5,4,1,7] +# Explanation: Since x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 then the answer is [2,3,5,4,1,7]. +# +# Example 2: +# +# Input: nums = [1,2,3,4,4,3,2,1], n = 4 +# Output: [1,4,2,3,3,2,4,1] +# +# Example 3: +# +# Input: nums = [1,1,2,2], n = 2 +# Output: [1,2,1,2] +# @param {Integer[]} nums +# @param {Integer} n +# @return {Integer[]} +def shuffle(nums, n) +end +nums = [2, 5, 1, 3, 4, 7] +n = 3 +print(shuffle(nums, n)) +# Output: [2,3,5,4,1,7] +nums = [1, 2, 3, 4, 4, 3, 2, 1] +n = 4 +print(shuffle(nums, n)) +# Output: [1,4,2,3,3,2,4,1] +nums = [1, 1, 2, 2] +n = 2 +print(shuffle(nums, n)) +# Output: [1,2,1,2] \ No newline at end of file