佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1176|回复: 3

一個數組中有N個元素,找出其中沒有重複過的元素

[复制链接]
发表于 17-7-2008 01:26 AM | 显示全部楼层 |阅读模式
一個數組中有N個元素,找出其中沒有重複過的元素
例如 1,2,2,3,4,5,5,6,7,8,8,9,
得到結果 1,3,4,6,7,9
有重覆過的都沒有顯示出來
  1. produce find unrepeated (i,n,j,k)
  2. if n<2 then
  3. return //no unrepeated values found.

  4. for i=0 to n do
  5. for j=i+1 to n do

  6. if array[j] and array are same  
  7. for k = j to n do
  8. array[k]=array[k+2]
复制代码
之後要如何寫?
有漏掉什麼嗎??

[ 本帖最后由 karhing 于 17-7-2008 09:40 AM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 17-7-2008 11:31 AM | 显示全部楼层
如果 A 是 你的 set

那么你要的set 就是
2[unique(A)] - A
回复

使用道具 举报

发表于 17-7-2008 08:54 PM | 显示全部楼层
原帖由 karhing 于 17-7-2008 01:26 AM 发表
一個數組中有N個元素,找出其中沒有重複過的元素
例如 1,2,2,3,4,5,5,6,7,8,8,9,
得到結果 1,3,4,6,7,9
有重覆過的都沒有顯示出來produce find unrepeated (i,n,j,k)
if n


import java.util.Vector;

public class ExcludeRedundant {
    public static void main(String args[]) {

        Vector v = new Vector();
        v.add(1);
        v.add(7);
        v.add(2);
        v.add(2);
        v.add(3);
        v.add(4);
        v.add(5);
        v.add(3);
        v.add(5);
        v.add(6);
        v.add(7);
        v.add(8);
        v.add(5);
        v.add(8);
        v.add(9);
        
        Vector v2 = new Vector();
        
        for (int i = 0; i < v.size(); i++) {
            if (v2.indexOf(v.elementAt(i)) == -1) {
                v2.add(v.elementAt(i));
            }
        }
        System.out.println(v2);
    }
}
回复

使用道具 举报

发表于 30-7-2008 05:48 PM | 显示全部楼层
先把全部元素store进array, 然后sort掉.
最后用looping 来compare  第N个和第N+1 个元素是不是一样.第N+1个元素如果一样就不需要放进新的array
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-12-2025 06:39 AM , Processed in 0.090263 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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