`
thunderbow
  • 浏览: 155907 次
  • 性别: Icon_minigender_1
  • 来自: beijing
社区版块
存档分类
最新评论

JAVA去掉一个已经排好序的数组的重复数字,尽量快

阅读更多
import java.util.Arrays;

/**
 * JAVA去掉一个已经排好序的数组的重复数字,尽量快.
 * 
 * @author 老紫竹 JAVA世纪网(java2000.net)
 * 
 */
public class Test {

  public static void main(String args[]) {
    int[] arr = { 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7, 8, 9, 9, 10, 11, 11,
        11, 12, 12, 13, 14, 14, 15 }; // 预设数据数组
    int index = 1; // 保存最后一个不重复的位置
    int last = arr[0];
    for (int i = 1; i < arr.length; i++) {
      if (arr[i] != last) {
        arr[index] = arr[i];
        last = arr[index];
        index++;
      }
    }
    int[] rtn = new int[index];
    System.arraycopy(arr, 0, rtn, 0, index);
    System.out.println(Arrays.toString(rtn));
  }
}

 

分享到:
评论

相关推荐

    java去除已排序数组中的重复元素

    当面对一个已排序的数组,有时我们需要去除其中的重复元素,以优化数据结构或满足特定的算法需求。本篇将深入探讨如何在Java中有效地去除已排序数组的重复元素。 首先,我们需要了解问题的核心要求。给定一个已排序...

    Java程序设计课件:5 数组与字符串.ppt

    插入排序则将数组分为已排序和未排序两部分,每次将一个未排序的元素插入到已排序部分的合适位置,直至所有元素都排好序。 在编程实践中,理解并熟练运用数组和字符串的特性以及相关的算法,能够有效地提高代码的...

    Java数据结构和算法

    集合不允许重复元素存在,通常用于去除重复项或进行数学运算如交集、并集等。 - **实现类**:`HashSet` (基于哈希表)、`TreeSet` (基于红黑树)。 ### 二、常用算法 #### 1. 排序算法 排序是数据处理中最常见的需求...

    最新JAVA编程题全集_50题及答案

    程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=...

    常用Java排序算法详解

    首先构造一个大顶堆,然后将堆顶元素与最后一个元素交换,去掉最后一个元素,再对剩余的元素重新调整为堆,如此反复执行,直到所有元素都有序。 这些排序算法在实际应用中各有优缺点,如选择排序和冒泡排序简单但...

    Lucene简单列子工程

    索引过程将文档内容转化为可搜索的形式,如倒排索引,其中每个词对应一个文档列表。 2. **Analyzer**:分析器负责处理输入的文本,进行分词、去除停用词等预处理工作,以适应搜索需求。 3. **Document**:代表要被...

    Lucene简单Demo(附带Jar)

    Lucene是Apache软件基金会的一个开放源代码项目,它是一个高性能、全文本检索库,提供了Java实现的全文索引和搜索功能。Lucene不仅能够对文本进行索引,还可以对文档进行存储,使得搜索结果可以返回原始文档。它的...

    冲刺BAT练习题

    - 该算法的基本思想是从数组最后一个元素开始,随机选择一个位置交换至当前位置,依次向前移动直至第一个元素。 4. **25匹马,5个跑道,最少比多少次能比出前3名?前5名?** - 首先进行五组比赛找出每组冠军,再...

    lucene实例

    然后,创建一个IndexWriter实例,设置好Analyzer,就可以开始添加文档了。每添加一个文档,Lucene都会更新索引。 2. **查询(Querying)**:使用QueryParser创建查询对象,指定Analyzer和查询字符串。然后,使用索引...

    lucene 入门资料包

    Lucene 是一个开源全文搜索引擎库,由Apache软件基金会开发。它是Java编写的,但提供了与其他编程语言的接口。这个入门资料包将帮助你了解并掌握Lucene的核心概念和使用方法。 ### 一、Lucene基础知识 1. **全文...

    acm-icpc模板

    双联通分量指的是无向图中,即使去掉任何一个顶点,仍然保持连通的子图。可以使用 DFS 来找到图的所有双联通分量。 ##### 拓扑排序 拓扑排序是对于有向无环图(DAG),将其节点排列成一个序列,使得对于每条从节点 ...

    lucene阅读笔记

    总之,Lucene提供了一个完整的文本检索框架,从数据的分析、索引建立到查询执行,每个环节都有精心设计的组件支持。通过深入理解这些核心概念和组件,开发者可以构建出高性能、定制化的搜索引擎应用。

    百度校园招聘历年经典面试题汇总:Android岗

    - **基本思想**:选择一个基准元素,将数组分为小于基准和大于基准的两部分,递归排序这两部分。 #### 35. TCP三次握手与SACK - **三次握手**:建立TCP连接的过程。 - **SACK**:Selective Acknowledgment,用于更...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    2. oracle11G自带一个卸载批处理\app\Administrator\product\11.2.0\dbhome_1\deinstall\deinstall.bat 3. 运行该批处理程序将自动完成oracle卸载工作,最后手动删除\app文件夹(可能需要重启才能删除) 4. 运行...

Global site tag (gtag.js) - Google Analytics