Skip to content

Commit 358ea8b

Browse files
committed
Remove Duplicates
1 parent 1989ee8 commit 358ea8b

File tree

3 files changed

+43
-226
lines changed

3 files changed

+43
-226
lines changed

out/production/LeetCode/.gitignore

Lines changed: 0 additions & 25 deletions
This file was deleted.

out/production/LeetCode/LICENSE

Lines changed: 0 additions & 201 deletions
This file was deleted.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.bzh.leetcode.array;
2+
3+
import org.junit.Assert;
4+
import org.junit.Test;
5+
6+
/**
7+
* https://leetcodechina.com/explore/suan-fa/card/chu-ji-suan-fa/1/di-yi-zhang-jie/21/
8+
*/
9+
public class RemoveDuplicates {
10+
11+
@Test
12+
public void test() {
13+
Assert.assertEquals(1, removeDuplicates(new int[]{1, 1, 1}));
14+
Assert.assertEquals(0, removeDuplicates(new int[]{}));
15+
Assert.assertEquals(1, removeDuplicates(new int[]{1}));
16+
Assert.assertEquals(2, removeDuplicates(new int[]{1, 1, 2}));
17+
Assert.assertEquals(3, removeDuplicates(new int[]{1, 1, 2, 2, 2, 3, 3}));
18+
Assert.assertEquals(4, removeDuplicates(new int[]{1, 2, 3, 4, 4, 4, 4}));
19+
Assert.assertEquals(5, removeDuplicates(new int[]{1, 2, 3, 4, 5}));
20+
}
21+
22+
public int removeDuplicates(int[] nums) {
23+
24+
if (nums == null || nums.length == 0) {
25+
return 0;
26+
}
27+
28+
int resultLength = 0;
29+
30+
for (int i = 0; i < nums.length - 1; i++) {
31+
if (nums[i] != nums[i + 1]) {
32+
nums[resultLength++] = nums[i];
33+
nums[resultLength] = nums[i + 1];
34+
}
35+
}
36+
37+
if (nums.length > 0) {
38+
resultLength++;
39+
}
40+
41+
return resultLength;
42+
}
43+
}

0 commit comments

Comments
 (0)