@@ -0,0 +1,44 @@
+# 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
+ 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
+ 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}"
+ 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])
+if __FILE__ == $0
+ main()