80. 刪除有序陣列中的重複項 II
阿新 • • 發佈:2021-06-19
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); } }