package com.dhl.beyond;
import java.util.Arrays;
public class test {
public static void main(String[] args) {
int[] arr = {
1, 2, 2, 3};
shellSort(arr);
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.toString(removeDuplicates(arr)));
}
public static void shellSort(int[] arr) {
for (int gap = arr.length / 2; gap > 0; gap /= 2) {
for (int i = gap; i < arr.length; i++) {
int j = i;
int temp = arr[j];
if (arr[j] < arr[j - gap]) {
while (j - gap >= 0 && temp < arr[j - gap]) {
arr[j] = arr[j - gap];
j -= gap;
}
arr[j] = temp;
}
}
}
}
public static int[] removeDuplicates(int[] nums) {
if (nums == null || nums.length == 0) return new int[]{
};
int p = 0;
int q = 1;
while (q < nums.length) {
if (nums[p] != nums[q]) {
nums[p + 1] = nums[q];
p++;
}
q++;
}
int s = p + 1;
int[] temp = new int[s];
for (int i = 0; i < s; i++) {
temp[i] = nums[i];
}
return temp;
}
}
7. Java-消除数组的重复项
猜你喜欢
转载自blog.csdn.net/Beyond_Nothing/article/details/114027005
今日推荐
周排行