LeetCode 精選TOP面試題 演算法題 26.刪除排序陣列中的重複項 -演算法&測試-easy模式

Evelyn_97發表於2020-12-23

LeetCode 精選TOP面試題 演算法題 26.刪除排序陣列中的重複項 -演算法&測試-easy模式

給定一個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。
不要使用額外的陣列空間,必須在原地修改陣列
示例:[0,0,1,1,1,2,2,3,3,4]
輸出:5

雙指標
思路可參考 熱題100 演算法題 283.移動零

package leetcode.easy;

public class Solution026 {
	public static void main(String[] args) {
		int[] nums = {0,1,1,1,1,2,2,3,3,4};
		S26DelDuplicateNum testDelDuplicateNum = new S26DelDuplicateNum();
		System.out.println(testDelDuplicateNum.deleteDuplicateNum(nums));
	}
}

class S26DelDuplicateNum{
	public int deleteDuplicateNum(int[] nums) {
		int j=0;
		for (int i = 1; i < nums.length; i++) {
			if (nums[i]!=nums[j]) {
				j++;
				nums[j]=nums[i];
			}
		}
		return j+1;
	}
}

參考:
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/solution/shan-chu-pai-xu-shu-zu-zhong-de-zhong-fu-xiang-by-

相關文章