Remove Duplicates from Sorted Array leetcode java


題目:

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.

Do not allocate extra space for another array, you must do this in place with constant memory.

For example,
Given input array A = [1,1,2],

Your function should return length = 2, and A is now [1,2].

 

題解:

題目關鍵字:數組,已排好序的,只能in place替換,不能用額外數組,並且要求結果返回unique的長度。

題解方法是雙指針,一個指針只記錄unique的並且幫助記錄長度,一個指針往前找。

代碼如下:

 1      public  int removeDuplicates( int[] A) {
 2          if(A.length == 0 || A ==  null)
 3              return 0;
 4         
 5          int len = 1;
 6          for( int index = 1; index < A.length; index++){
 7              if(A[index] != A[index-1]){
 8                  if(A[index] != A[len])
 9                     A[len] = A[index];
10                 len++;
11             }
12         }
13          return len;
14     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM