Skip to content
Prev Previous commit
Next Next commit
2670
  • Loading branch information
theforestvn88 committed Jul 29, 2024
commit 48ce629db82bccd37229b3eac0b47c11f1924be9
19 changes: 19 additions & 0 deletions 2601-2700/2670_find_the_distinct_difference_array.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# @param {Integer[]} nums
# @return {Integer[]}
def distinct_difference_array(nums)
prefix_diff = []
prefix_appear = Hash.new(false)
(0...nums.size).each { |i|
prefix_appear[nums[i]] = true
prefix_diff[i] = prefix_appear.size
}

suffix_diff = []
suffix_appear = Hash.new(false)
(nums.size-1).downto(0).map { |i|
suffix_diff[i] = suffix_appear.size
suffix_appear[nums[i]] = true
}

(0...nums.size).map { |i| prefix_diff[i] - suffix_diff[i] }
end