删除重复数据的算法
2006-11-23 00:00
330 查看
在工作中碰到这么一个问题:给定一个已经排序的数组(升序),删除数组中重复的数据,但是只能使用一个数组,这个数组的大小可以变化.
例子: 数组:[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,.....)
例子: 数组:[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,.....)
您可能感兴趣的文章:
相关文章推荐
- 删除重复数据的算法
- 重复数据删除的算法
- 重复数据删除(De-duplication)技术研究
- 算法提高 11-2删除重复元素
- Oracle中distinct的用法实例以及Oracle distince 用法和删除重复数据
- SQL删除重复数据只保留一条
- 算法学习-数据结构之链表操作,创建,插入,删除,查找。
- sql语句删除重复数据
- 使用SQL语句对重复记录查询、统计重复次数、删除重复数据
- SQL删除重复数据方法
- 高效删除Oracle数据库中重复数据的方法
- [转] Windows Server 2012体验之重复数据删除技术
- SQL Server中删除重复数据的几个方法
- 数据结构——顺序表删除之建表算法
- CommVault重复数据删除功能强大
- mysql删除重复数据的sql
- 算法:查找int数组中重复的数据
- 如何删除数据表中的重复数据(各种数据库)
- 重复数据删除
- mysql如何快速删除重复的数据