锁定老帖子 主题:去除重复数
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (12)
|
|
---|---|
作者 | 正文 |
发表时间:2010-05-20
最后修改:2010-09-01
输入{ 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5 };输出{ 1, 2, 3, 4, 5 }; /** * 消除重复数(已经排序好的数组) * * @author fangtengfei * @date 2010-5-16 */ public class Distinct { public static void main(String[] args) { int[] oNums = { 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5 }; int[] newNums = new int[oNums.length] ; int count = 0,index=-1; for (int i = 0; i count) { newNums[++index]=oNums[i]; count = oNums[i]; } } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-05-21
public class Distinct {
public static void main(String[] args) { int[] oNums = { 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5 }; List newNums = new ArrayList(); int count = 0; for (int i = 0; i < oNums.length; i++) { if (oNums[i] > count) { newNums.add(oNums[i]); count = oNums[i]; } } } } 不知道LZ想做个什么,你试想 int[] oNums = { 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5 }; 如果oNums 数组第一个数大于后面的数.会出什么结果吗??? |
|
返回顶楼 | |
发表时间:2010-05-21
sorry!我没写清楚,是已经排序好的数组。
|
|
返回顶楼 | |
发表时间:2010-05-22
直接用SET不就可以了?
|
|
返回顶楼 | |
发表时间:2010-05-23
用SET就不是在写一个算法了,而是在用别人的算法。
|
|
返回顶楼 | |
发表时间:2010-07-01
如果是无序的数组,如何做效率高一点呢?
|
|
返回顶楼 | |
发表时间:2010-07-02
yutian2211 写道 如果是无序的数组,如何做效率高一点呢?
通过hashtable算法。 |
|
返回顶楼 | |
发表时间:2010-09-01
java的set早就做好了!不用那么麻烦!
|
|
返回顶楼 | |
发表时间:2010-09-01
ps:代码质量:
1,泛型 2,对象for 3,… |
|
返回顶楼 | |
发表时间:2010-09-01
BestUpon 写道 java的set早就做好了!不用那么麻烦!
这是一道外企算法的面试题,前提是不允许使用util包之外的类,即任何集合类都不允许使用。 写出的算法效率越高,此题得分越高,大家可以试一下。 |
|
返回顶楼 | |