删除重复数据的算法
发布时间:2024-05-13 09:36:14
标签:删除重复数据的算法
在工作中碰到这么一个问题:给定一个已经排序的数组(升序),删除数组中重复的数据,但是只能使用一个数组,这个数组的大小可以变化.
例子: 数组:[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,.....)


猜你喜欢
- 如下所示:alist=[1,2]] >>>[1,2] alist.append([3,4]) >>>[1
- Pandas是一个用于数据分析和操作的Python库。在pandas中几乎所有的操作都围绕着DataFrame。Dataframe是一个二维
- 一、背景先要从 InnoDB 的索引实现说起,InnoDB 有两大类索引:聚集索引 (clustered index)普通索引 (secon
- 1 递归函数的特点特点一个函数 内部 调用自己函数内部可以调用其他函数,当然在函数内部也可以调用自己代码特点函数内部的 代码 是相同的,只是
- 一、密码式给数据库起一个随机复杂的名称,避免被猜到被下载,这种方式在以前很流行,因为大家都对自己的代码很有自信。但随着错误提示对数据库地址的
- web2.0的标志是Ajax的异步通信的发掘,给我们带来像google map,google suggest 这样令人惊叹的东西。而Ajax
- 最近,正好发生了一件大事,就是 GitLab 的运维同学不小心删除了生产的数据,虽然 GitLab 已经骇人听闻的准备了五种备份机制,但是,
- 前言:今天教大家通过Python进行Socket网络编程(做一个聊天程序),可以实现在不同的主机(电脑)之间进行通话。具体效果如何,接着往下
- 一、安装系统和设置中文(一)下载安装KaliLInux2022.1以直接下载虚拟机映像文件为例,下载地址:https://www.kali.
- 本文实例讲述了JS弹出可拖拽可关闭的div层完整实现方法。分享给大家供大家参考。具体实现方法如下:<!DOCTYPE html PUB
- 前言本文主要给大家介绍的是关于在Python3使用PyMongo的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细介绍:Mong
- kmp算法KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特
- 音频预处理这一讲主要介绍些音频基本处理方式,为接下来的语音识别打基础。三种播放音频的方式使用 python 播放音频有以下几种方式:os.s
- 不知不觉已经在家两个月了,眼看马上春节就要来临了。满怀期待的写了一个新年倒计时的小工具!设置新年时间后都能够使用,打开软件后可以自动计算到新
- 引言之前有些无聊(呆在家里实在玩的腻了),然后就去B站看了一些python爬虫视频,没有进行基础的理论学习,也就是直接开始实战,感觉跟背公式
- 本文实例讲述了php绘制圆形的方法。分享给大家供大家参考。具体实现方法如下:php绘图的基本步骤,有四步(php.ini里的 extensi
- 1、引言小 * 丝:鱼哥,这个周末过得咋样小鱼:酸爽~ ~小 * 丝:额~~ 我能想到的,是这样吗?小鱼:有多远你走多远。小 * 丝:唉,鱼哥,你别说,
- 方法一 1.新建一个同名的数据库 2.再停掉sqlserver(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再
- 前几天因为一个例外,数据库在没有做备份的情况下,直接删除了表记录。事后,又需要查询到删除的记录的内容。因此,在网上软件SS了半天,发现Log
- 在js方法中添加"path= 过期时间"就可以解决这个问题。 例如://写cookies function setCoo