簡單的演算法問題4 移除陣列中重複的元素

2021-08-02 08:39:25 字數 881 閱讀 4573

以下**全是用c++編寫

以下演算法均來自計蒜客

給定乙個公升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。

例如:陣列 a=,你的程式應該輸出 2即新陣列的長度,

新陣列為。

要求:不能新開陣列分配額外的空間,即常數空間限制。

輸入乙個整數n(1≤n≤1000)。

接下來一行n個整數 a (-1000≤a ≤1000),表示陣列 a 中的每個元素。

輸出乙個整數,表示新陣列長度。

形如:

輸入

5 0 0 1 1 2

輸出

31.這道題真的很簡單,我能說什麼,就跟昨天我做的那道簡單的演算法問題3得到陣列的個數很類似,都是用線性表來做,但是我又是把昨天的思維糾正了一下,我昨天做的時候都是如果相同我就把另相同的設定為null了,我今天就是用很常見的線性表的思維去做的。

#include 

using

namespace

std;

int removeduplicate(int a,int &n);

int main()

}cout}}

return

0; }

int removeduplicate(int a,int &n)

n--;}}

} return n;

}

可以把我測試的那個for(int i=0;i

測試成功~!除了我多寫的一部分~~

第11題 移除陣列中的重複元素

給定乙個公升序排列的陣列,去掉重複的數,並返回新的陣列的長度。例如 陣列a 你的函式應該返回長度2,新陣列為 要求 不能新開陣列分配額外的空間。即常數空間限制。輸入乙個整數n,以及其對應的陣列a n 輸出新陣列長度 樣例輸入 5 0 0 1 1 2 樣例輸出 3 這是一道變相的查詢問題,並不是給你乙...

移除陣列中的元素(2)

移除陣列 arr 中的所有值與 item 相等的元素,直接在給定的 arr 陣列上進行操作,並將結果返回 示例1複製 1,2,2,3,4,2,2 2複製 1,3,4 function removewithoutcopy arr,item for i 0 i引數 描述index 必需。整數,規定新增 ...

移除陣列中的某個元素

給定乙個陣列 nums 和乙個值 val,你需要原地移除所有數值等於 val 的元素,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 1 給定 nums 3,2,2,3 ...