Contains and removing duplicates in arrays

The problems read as follows, for contains duplicates:

Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.

Example 1:

Example 2:

Example 3:


  • 1 <= nums.length <= 105
  • -109 <= nums[i] <= 109

And for remove duplicates:

Given a sorted array (nums), remove the duplicates in-place such that each element appears only once and returns the new length.

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.


Confused why the returned value is an integer but your answer is an array?

Note that the input array is passed in by reference, which means a modification to the input array will be known to the caller as well.

Internally you can think of this:

Example 1:

Example 2:


  • 0 <= nums.length <= 3 * 104
  • -104 <= nums[i] <= 104
  • nums is sorted in ascending order.

Steps for solving contains duplicates are as follows.

create an empty object, loop through the array(nums), check if the number exists in the object,
if exists return true
set the as a key with a value of 1
continue until end
return false

As well as my code for solving

Steps for solving remove duplicates are as follows.

First, to write off edge case if the length of the array is less than or equal to 1 then just return the length it’s either going to be 0 or 1 so it doesn't matter at that point,

Then we have two points in the array and while the second is still within the array,

And while the second point is the same as the first we take out the second point,

And both points go up one index,

Then after the whole loop, we return the length of the array.

My code for solving remove duplicates is as follows: