六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 123|回复: 0

JAVA去掉一个已排序数组的重复数字

[复制链接]

升级  10.35%

391

主题

391

主题

391

主题

探花

Rank: 6Rank: 6

积分
1207
 楼主| 发表于 2013-2-7 20:06:02 | 显示全部楼层 |阅读模式
原文地址:http://www.java2000.net/p11764

论坛讨论地址:http://topic.csdn.net/u/20081109/14/EB2F41BF-52C3-4F9A-A7AD-F590A83887CC.html

我的一个方案,不过肯定有提升速度的地方
<div class="highlighter">

  • import java.util.Arrays;
  • <span />
  • <span />/**
  •  * JAVA去掉一个已经排好序的数组的重复数字,尽量快.
  •  * 
  •  * @author 老紫竹 JAVA世纪网(java2000.net)
  •  * 
  •  */<span />
  • public class Test {
  • <span />
  •   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 }; // 预设数据数组<span />
  •     int index = 1; // 保存最后一个不重复的位置<span />
  •     int last = arr[0];
  •     for (int i = 1; i < arr.length; i++) {
  •       if (arr != last) {
  •         arr[index] = arr;
  •         last = arr[index];
  •         index++;
  •       }
  •     }
  •     int[] rtn = new int[index];
  •     System.arraycopy(arr, 0, rtn, 0, index);
  •     System.out.println(Arrays.toString(rtn));
  •   }
  • }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表