1. 程式人生 > >計蒜客第11題---移除陣列中的重複元素

計蒜客第11題---移除陣列中的重複元素

給定一個升序排列的陣列,去掉重複的數,並返回新的陣列的長度。
例如:
陣列A = {1, 1, 2},你的函式應該返回長度2,新陣列為{1, 2}
要求:
不能新開陣列分配額外的空間。即常數空間限制。
提示:
輸入一個整數n,以及其對應的陣列A[n],輸出新陣列長度
樣例1
輸入:
5
0 0 1 1 2
輸出:
3

# include <iostream>
#include <vector>
using namespace std;

int removeElem(vector<int> A,int n)
{
    int
i,j,num=n; i = 0; j = i+1; while(j<n) { if(A[i]==A[j]) { num--; i++; j++; } else { i++; j++; } } return num; } int main() { int m,elem,result; vector<int
>
ivec; cin>>m; while(m>0) { cin>>elem; ivec.push_back(elem); m--; } m = ivec.size();//陣列元素的個數 result = removeElem(ivec,m); cout << result <<endl; return 0; }

相關推薦

11---陣列重複元素

給定一個升序排列的陣列,去掉重複的數,並返回新的陣列的長度。 例如: 陣列A = {1, 1, 2},你的函式應該返回長度2,新陣列為{1, 2} 要求: 不能新開陣列分配額外的空間

JS能力測評經典--陣列元素

時間限制:3秒 空間限制:32768K 熱度指數:72378 題目描述 移除陣列 arr 中的所有值與 item 相等的元素。不要直接修改陣列 arr,結果返回新的陣列 示例1 輸入 複製

9:元素

給定一個數組和一個數(該數不一定在陣列中),從數組裡刪掉這個數字,返回剩下的陣列長度。 如:A[] = {1, 2, 3, 4, 5}, 要刪除數字3, 那麼返回陣列長度為4. 親愛的小夥伴們,題目

--28:等和的分隔子集

第28題:等和的分隔子集 時間限制 1000 ms 記憶體限制 10000 K 曉萌希望將1到N的連續整陣列成的集合劃分成兩個子集合,且保證每個集合的數字和是相等。例如,對於N=3,對應的集合{1,2,3}能被劃分成{3} 和 {1,2}兩個子集合. 這兩

2:整除問題

判斷一個數是否能被另一個整數整除是一個挺簡單的問題,一般一個模運算就可以搞定了,懶惰的曉萌還是不想自己做,於是找到你幫他寫程式碼,你就幫幫他吧。 輸入包括兩個由空格分開的整數M和N(1≤M,N≤500)。 輸出包括一行,如果M可以被N整除就輸出YES,否則輸出NO(結果大小

--20:跳躍遊戲二

第20題:跳躍遊戲二 時間限制 1000 ms 記憶體限制 10000 K 給定一個非負整數陣列,假定你的初始位置為陣列第一個下標。 陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。 你的目標是到達最後一個下標,並且使用最少的跳躍次數。 例如:

8:字串長度

在右側我們給出了一個已經基本完成的程式,讀入了一個字串,呼叫了一個叫str_len的函式來計算這個字串的長度,並輸出。 聰明的你應該已經發現了,這個叫str_len的函式並沒有完成,在不修改函式原型的

陣列元素

題目描述 移除陣列 arr 中的所有值與 item 相等的元素。不要直接修改陣列 arr,結果返回新的陣列 示例1 輸入 複製 [1, 2, 3, 4, 2], 2 輸出 複製 [1, 3, 4] 知識點:push() 方法可向陣列的末尾新增一個或多個元

JS能力測評4:陣列元素(直接修改arr)

思路: 直接運用splice函式,若arr陣列元素和item相等,則刪除。該處運用了一個技巧,從陣列末尾開始判斷,這樣不用考慮刪除元素而導致位置變化的影響。 function removeWithoutCopy(arr, item) { for(var i=arr.length-1;

JS能力測評3:陣列元素

思路: 方法1:將陣列中的元素依次和item比較,若不相等則放入新的陣列,反之則捨棄。 function remove(arr, item) { var result=[]; for(var i=0;i<arr.length;i++) { if

挑戰難題 11陣列重複元素

時間限制 1000 ms  記憶體限制 10000 K 給定一個升序排列的陣列,去掉重複的數,並返回新的陣列的長度。 例如:    陣列A = {1, 1, 2},你的函式應該返回長度2,新陣列為{1, 2} 要求:    不能新開陣列分配額外的空間。即常數空間限制。 提示:    輸入一個整數n,以

陣列重複元素--

給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。 例如:陣列 A = \{1, 1, 2\}A={1,1,2},你的程式應該輸出 22 即新陣列的長度,新陣列為 \{1, 2\}{1,2}。 要求:不能新開陣列分配額外的空間,即常數空間限制

python|——陣列重複元素

給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。 例如:陣列 A = {1, 1, 2}A={1,1,2},你的程式應該輸出 22 即新陣列的長度,新陣列為

五場 UCloud 的安全秘鑰(中等) (尺取遊標法

sca http 數組 desc 出現 滿足 說明 tom tor 每個 UCloud 用戶會構造一個由數字序列組成的秘鑰,用於對服務器進行各種操作。作為一家安全可信的雲計算平臺,秘鑰的安全性至關重要。因此,UCloud 每年會對用戶的秘鑰進行安全性評估,具體的評估方法如

劍指offer(java實現)1“二維陣列的查詢”-牛

題目描述 在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數 時間限制:1秒 空間限制:32768K 熱度指數:753571 解答

陣列重複元素

給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。 例如:陣列 A = \{1, 1, 2\}A={1,1,2},你的程式應該輸出 22 即新陣列的長度,新陣列為 \{1, 2\}{1,2}。 要求:不能新開陣列分配額外的空間,即常數空

leedcode26刪除排序陣列重複項——基於c++

RemoveDuplicates::clearDuplicates(vector<int>& nums) { /**方法一:暴力法 * 從前往後遍歷行不通,考慮從後往前遍歷,遇到重複項可以直接length - 1並捨棄。 * 0

如何在typescript陣列某一項

typescript中的陣列 預設只有push、pop這樣的增刪api。 如果想移除陣列中間的某一項元素, 可以通過: let node: int;  //要移除的物件 nodes: int[];

Leetcode27:Remove Element(陣列指定的元素

題目解析:給定一個vector<int>陣列,要求把不等於給定的val的若干個數字移動到該陣列的最前面,並返回不等於val的數字的數目。不允許另外定義陣列來運算。我做的答案:class Solution { public:     int removeElemen

陣列重複元素-列表去重(Python)

給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。 例如:陣列 A={1,1,2},你的程式應該輸出 2 即新陣列的長度,新陣列為 {1,2}。 要求:不能新開陣列分配額外的空間,即常數空間限制。 輸入格式 輸入一個整數 n(1≤n≤1000)。 接下來一