多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > LintCode(101)刪除排序數組中的重復數字 II

LintCode(101)刪除排序數組中的重復數字 II

來源:程序員人生   發布時間:2016-06-23 08:47:44 閱讀次數:2426次

題目

跟進“刪除重復數字”:

如果可以允許出現兩次重復將如何處理?


樣例

給出數組A =[1,1,1,2,2,3],你的函數應當返回長度5,此時A=[1,1,2,2,3]

分析

與上題思路相同,只需要增加1個記錄元素出現次數的變量便可,限制最多出現2次。

Python代碼

class Solution: """ @param A: a list of integers @return an integer """ def removeDuplicates(self, A): # write your code here if len(A) == 0: return 0 times = 1 k = 0 for i in range(1,len(A)): if A[i] != A[k]: k += 1 A[k] = A[i] times = 1 else: if times >= 2: continue else: k += 1 A[k] = A[i] times += 1 del A[k+1:len(A)] return len(A)
GitHub -- Python代碼

C++代碼

/* 101 刪除排序數組中的重復數字 II 跟進“刪除重復數字”: 如果可以允許出現兩次重復將如何處理? 您在真實的面試中是不是遇到過這個題? Yes 樣例 給出數組A =[1,1,1,2,2,3],你的函數應當返回長度5,此時A=[1,1,2,2,3]。 */ class Solution { public: /** * @param A: a list of integers * @return : return an integer */ int removeDuplicates(vector<int> &nums) { // write your code here if(nums.empty()) { return 0; }//if int n = nums.size(), k=0, times=1; for(int i=1; i<n; ++i) { if(nums[i] != nums[k]) { nums[++k] = nums[i]; times = 1; }else if(nums[i] == nums[k]){ if(times >= 2) { continue; }else{ nums[++k] = nums[i]; ++times; }//else }//elif }//for nums.resize(k+1); return k+1; } };
GitHub -- C++代碼



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 狠狠的撞进去嗯啊h女强男视频 | 欧美深夜在线 | 性生生活网站免费 | yellow字幕网最新官网2019 | 国内精品久久久久影院中国 | 青青草原亚洲视频 | 米奇影院日韩免费 | 亚洲国产最新 | 69精品视频 | 久久精品免费i 国产 | 成人a毛片一级 | 免费观看又污又黄网站日本 | 亚洲视频免费看 | 欧美人与物3dvideos | 伊人久久99亚洲精品久久频 | 日本一区二区视频在线观看 | 国产在线精品福利大全 | 国产精品国产三级国产 | 欧美一级视屏 | 亚洲精品人成在线观看 | 欧美激情伊人 | 一级看片免费视频 | 免费网站在线观看高清版 | 日韩中文字幕精品一区在线 | 日本欧美一区二区三区乱码 | 亚洲乱码中文字幕 | 亚洲 欧美 在线观看 | 欧美1314www伊人久久香网 | 日本艳鉧动漫1~6中文在线观看 | 欧美另类视频一区二区三区 | 国产亚洲欧美日韩在线一区 | 亚洲免费人成在线视频观看 | 中文字幕亚洲综合精品一区 | 在线视频一区二区三区 | 日韩在线一区二区 | 国产成人在线免费视频 | 欧美精品亚洲精品 | 午夜免费播放观看在线视频 | a天堂视频 | 国产精品福利在线观看入口 | 亚洲国产欧美视频 |