刪除重復(fù)數(shù)據(jù)的算法
更新時(shí)間:2006年11月23日 00:00:00 作者:
在工作中碰到這么一個(gè)問(wèn)題:給定一個(gè)已經(jīng)排序的數(shù)組(升序),刪除數(shù)組中重復(fù)的數(shù)據(jù),但是只能使用一個(gè)數(shù)組,這個(gè)數(shù)組的大小可以變化.
例子: 數(shù)組:[1,1,2,2,3,3,4,5,7,10]
輸出::[1,2,3,4,5,7,10]
實(shí)現(xiàn)(1):
var arr =new Array(1,1,2,2,3,3,4,5,7,10);
var len = arr.length;
for(var i=len-1;i>=1;i--)
{
if(arr[i-1] == arr[i])
{
arr.splice(i,1);
}
}
alert(arr);
實(shí)現(xiàn)(2):
var arr =new Array(1,1,2,2,3,3,4,5,7,10);var len = arr.length;var k=0;for(var i=1;i<len;i++){ if(arr[k] != arr[i]) { arr[k+1]=arr[i]; k++; } }alert(arr);
但是發(fā)現(xiàn)其性能并不是最好的,不知道您是否有更好的算法.(實(shí)現(xiàn)語(yǔ)言可以是JavaScript,C#,VB.net,.....)
例子: 數(shù)組:[1,1,2,2,3,3,4,5,7,10]
輸出::[1,2,3,4,5,7,10]
實(shí)現(xiàn)(1):
var arr =new Array(1,1,2,2,3,3,4,5,7,10);
var len = arr.length;
for(var i=len-1;i>=1;i--)
{
if(arr[i-1] == arr[i])
{
arr.splice(i,1);
}
}
alert(arr);
實(shí)現(xiàn)(2):
var arr =new Array(1,1,2,2,3,3,4,5,7,10);var len = arr.length;var k=0;for(var i=1;i<len;i++){ if(arr[k] != arr[i]) { arr[k+1]=arr[i]; k++; } }alert(arr);
但是發(fā)現(xiàn)其性能并不是最好的,不知道您是否有更好的算法.(實(shí)現(xiàn)語(yǔ)言可以是JavaScript,C#,VB.net,.....)
您可能感興趣的文章:
- sqlserver中重復(fù)數(shù)據(jù)值只取一條的sql語(yǔ)句
- sqlserver合并DataTable并排除重復(fù)數(shù)據(jù)的通用方法分享
- 教你幾種在SQLServer中刪除重復(fù)數(shù)據(jù)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL語(yǔ)句刪除2條重復(fù)數(shù)據(jù)一條保留一條
- 一個(gè)過(guò)濾重復(fù)數(shù)據(jù)的 SQL 語(yǔ)句
- 刪除數(shù)據(jù)庫(kù)中重復(fù)數(shù)據(jù)的幾個(gè)方法
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
相關(guān)文章
javascript學(xué)習(xí)筆記(三)顯示當(dāng)時(shí)時(shí)間的代碼
主要是為了熟悉javascript中在date對(duì)象,大家可以看下。2011-04-04
Javascript全局變量var與不var的區(qū)別深入解析
這篇文章主要介紹了Javascript全局變量var與不var的區(qū)別。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12
簡(jiǎn)述JavaScript中正則表達(dá)式的使用方法
這篇文章主要介紹了JavaScript中正則表達(dá)式的使用方法,正則表達(dá)式是JS進(jìn)階學(xué)習(xí)中的重要知識(shí),本文簡(jiǎn)述了JS對(duì)正則表達(dá)式的支持情況,需要的朋友可以參考下2015-06-06
詳解JavaScript中undefined與null的區(qū)別
大多數(shù)計(jì)算機(jī)語(yǔ)言,有且僅有一個(gè)表示"無(wú)"的值,比如,C語(yǔ)言的NULL,Java語(yǔ)言的null,Python語(yǔ)言的none,Ruby語(yǔ)言的nil2014-03-03
JavaScript中的關(guān)鍵字"VAR"使用詳解 分享
JScript的語(yǔ)法教程里面說(shuō)在聲明變量時(shí)忽略var關(guān)鍵字是完全合法的。但是事實(shí)常常又證明想當(dāng)然的結(jié)果是不可靠的。2013-07-07
深入理解JavaScript系列(50):Function模式(下篇)
這篇文章主要介紹了深入理解JavaScript系列(50):Function模式(下篇),本篇我們介紹的一些模式稱(chēng)為初始化模式和性能模式,主要是用在初始化以及提高性能方面,一些模式之前已經(jīng)提到過(guò),這里只是做一下總結(jié),需要的朋友可以參考下2015-03-03
iframe 上下滾動(dòng)條如何默認(rèn)在下方實(shí)現(xiàn)原理
iframe 上下滾動(dòng)條如何默認(rèn)在下方,做的是聊天工具,數(shù)據(jù)多了,每次刷新出現(xiàn)的上下滾動(dòng)默認(rèn)在上方,還需下拉到下面才能看到聊天記錄,本文將介紹,如和實(shí)現(xiàn)在下方2012-12-12
javascript Function函數(shù)理解與實(shí)戰(zhàn)
小編給大家?guī)?lái)一片關(guān)于javascript的基礎(chǔ)教學(xué)內(nèi)容,關(guān)于Function函數(shù)的訓(xùn)練與理解,一起學(xué)習(xí)下吧。2017-12-12

