Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 08d0d61

Browse files
committed
Remove duplicates in place: done
1 parent 7eca377 commit 08d0d61

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package com.leetcode.arrays;
2+
3+
import java.util.Arrays;
4+
5+
/**
6+
* Level: Easy
7+
* Problem Link: https://leetcode.com/problems/remove-duplicates-from-sorted-array/
8+
* Problem Description:
9+
* Given a sorted array nums, remove the duplicates in-place such that each element appear only once and return the new length.
10+
* <p>
11+
* Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
12+
* Example 1:
13+
* <p>
14+
* Given nums = [1,1,2]
15+
* <p>
16+
* Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively.
17+
* <p>
18+
* It doesn't matter what you leave beyond the returned length.
19+
*
20+
* @author rampatra
21+
* @since 2019年04月24日
22+
*/
23+
public class RemoveDuplicates {
24+
25+
/**
26+
* Time complexity: O(n)
27+
* where,
28+
* n = no. of elements in the array
29+
* <p>
30+
* Runtime: <a href="https://leetcode.com/submissions/detail/224719750/">1 ms</a>.
31+
*
32+
* @param nums
33+
* @return
34+
*/
35+
public static int removeDuplicatesInSortedArray(int[] nums) {
36+
int insertIndex = 0;
37+
38+
for (int i = 1; i < nums.length; i++) {
39+
if (nums[i] != nums[i - 1]) {
40+
nums[++insertIndex] = nums[i];
41+
}
42+
}
43+
44+
return insertIndex + 1;
45+
}
46+
47+
public static void main(String[] args) {
48+
int[] arr = new int[]{1, 1, 2};
49+
System.out.println(removeDuplicatesInSortedArray(arr));
50+
System.out.println(Arrays.toString(arr));
51+
52+
arr = new int[]{0, 0, 1, 1, 1, 2, 2, 3, 3, 4};
53+
System.out.println(removeDuplicatesInSortedArray(arr));
54+
System.out.println(Arrays.toString(arr));
55+
56+
arr = new int[]{0, 1, 2, 3, 4, 5};
57+
System.out.println(removeDuplicatesInSortedArray(arr));
58+
System.out.println(Arrays.toString(arr));
59+
}
60+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /