|
查看: 1175|回复: 3
|
一個數組中有N個元素,找出其中沒有重複過的元素
[复制链接]
|
|
|
一個數組中有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<2 then
- return //no unrepeated values found.
- for i=0 to n do
- for j=i+1 to n do
- if array[j] and array are same
- for k = j to n do
- array[k]=array[k+2]
复制代码 之後要如何寫?
有漏掉什麼嗎??
[ 本帖最后由 karhing 于 17-7-2008 09:40 AM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 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 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|