1. 程式人生 > 其它 >80. 刪除有序陣列中的重複項 II

80. 刪除有序陣列中的重複項 II

package leetcode;

public class demo_80 {
    public int removeDuplicates(int[] nums) {
        int count=1;
        int length=nums.length;
        for(int i=1;i<length;i++) {
            //判斷重複的個數
            if(nums[i]==nums[i-1]) {
                count=count+1;
            }
            else {
                
//將之後的數往前移動 if(count>2) { for(int j=i;j<length;j++) { nums[j-(count-2)]=nums[j]; } //記錄陣列長度 length=length-(count-2); //記錄當前陣列開始的位置 i=i-(count-2); } count
=1; } } //如果最後面的資料重複個數也大於2,但沒有資料替換,所以也要減去重複的個數 if(count>2) {length=length-(count-2);} System.out.println(length); return length; } public static void main(String[] args) { // TODO Auto-generated method stub demo_80 d80=new demo_80();
int[] nums= {0,0,0,1,1,1,2,3,3}; d80.removeDuplicates(nums); } }