html5中文学习网

您的位置: 首页 > 网站及特效实例 > javascript特效 » 正文

删除重复数据的算法_基础知识_

[ ] 已经帮助:人解决问题
在工作中碰到这么一个问题:给定一个已经排序的数组(升序),删除数组中重复的数据,但是只能使用一个数组,这个数组的大小可以变化.
例子:  数组:[1,1,2,2,3,3,4,5,7,10]
      输出::[1,2,3,4,5,7,10]
实现(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);

实现(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);
但是发现其性能并不是最好的,不知道您是否有更好的算法.(实现语言可以是JavaScript,C#,VB.net,.....)
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助