Skip to content
Merged

2161 #20

Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2161
  • Loading branch information
theforestvn88 committed Aug 9, 2024
commit 335e07989e10cbe6673883da0d49f318182023b7
42 changes: 42 additions & 0 deletions 2101-2200/2161_partition_array_according_to_given_pivot.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# @param {Integer[]} nums
# @param {Integer} pivot
# @return {Integer[]}
def pivot_array(nums, pivot)
low = []
high = []
pivots = []
nums.each { |num|
if num == pivot
pivots << num
elsif num > pivot
high << num
else
low << num
end
}

low + pivots + high
end

# 2 pointers
def pivot_array(nums, pivot)
re_arrange = Array.new(nums.size, pivot)
i = 0
j = nums.size - 1
(0...nums.size).each { |k|
if nums[-k-1] > pivot
re_arrange[j] = nums[-k-1]
j -= 1
end

if nums[k] < pivot
re_arrange[i] = nums[k]
i += 1
end
}

re_arrange
end