程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> leetCode 26.Remove Duplicates from Sorted Array(刪除數組重復點) 解題思路和方法

leetCode 26.Remove Duplicates from Sorted Array(刪除數組重復點) 解題思路和方法

編輯:C++入門知識

leetCode 26.Remove Duplicates from Sorted Array(刪除數組重復點) 解題思路和方法


Remove Duplicates from Sorted Array
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 nums = [1,1,2],

Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. It doesn't matter what you leave beyond the new length.

 

思路:此題比較簡單,大意是將數組中重復點刪除,然後返回新數組的長度。數組中前n個數就是新的數組。唯一難點是不能用額外空間。

詳細代碼如下:

 

public class Solution {
    public int removeDuplicates(int[] nums) {
        if(nums.length <= 1){
            return nums.length;
        }
        int len = 1;//新的長度,至少為1,以下循環從i=1開始
        for(int i = 1; i < nums.length; i++){
            if(nums[i] != nums[i-1]){//不等於前一個元素,長度+1
                nums[len++] = nums[i];//將新的元素裝到前len個
            }
        }
        return len;
    }
}


 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved