26.[圖解]Remove Duplicates from Sorted Array

這一題因為自己看不太懂解答寫的答案,所以決定自己用畫的,解的方式和解答也有點不一樣,但最後是通過了。

1.題目描述

來源:LeetCode
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.

2.題目解析
題目的意思,給一個排序好的陣列(array),消除其中重複的數字,然後回傳新的陣列的長度。不允許建立新的陣列。必須透過回傳一個固定的數字,來表示陣列的長度。

先了解甚麼是陣列(array)

陣列採用數字 0, 1, 2, 3 的索引順序存放資料, 因此適合應用在具有順序、且為相同型態 (字串、數值等等) 的資料上
陣列(Array)

甚麼是排序好的陣列?
●這是一個排序好的陣列:[ 1, 2, 2, 2, 5, 7, 7, 7, 10 ]
●這是一個沒有排序好的陣列:[ 1, 2, 9, 5, 5, 7, 8, 1 ]

3.畫流程圖

畫出以下的圖來協助思考,當x和y比較,數值一樣和不一樣的動作。

4.程式碼

5.上傳LeetCode的結果

Like what you read? Give 劉勇志 a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.