| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- # 268. Missing Number
- # @param {Integer[]} nums
- # @param {Integer} val
- # @return {Integer}
- def remove_element(nums, val)
- num_diff = 0
- i = 0
- nums_size = nums.size()
- while i < nums_size do
- if nums[i] != val then
- num_diff += 1
- else
- nums[i] = -1
- end
- i += 1
- end
- i = 0
- while i < nums_size do
- if nums[i] == -1 then
- j = i+1
- while nums[j] == -1 do j += 1 end
- break if j >= nums_size
- nums[i] = nums[j]
- nums[j] = -1
- end
- i += 1
- end
- return num_diff
- end
- def main()
- def r(nums, val, exp, exp_nums)
- puts "remove_element(#{nums}, #{val}) = #{remove_element(nums, val)} -> #{nums} | exp_nums: #{exp_nums} exp: #{exp}"
- end
- r([3,2,2,3], 3, 2, [2,2,-1,-1])
- r([0,1,2,2,3,0,4,2], 2, 5, [0,1,4,0,3,-1,-1,-1])
- end
- if __FILE__ == $0
- main()
- end
|