首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

如何样算出一个整形数组中的不同的元素的个数

2011-12-24 
怎么样算出一个整形数组中的不同的元素的个数int[] a {1,2,4,5,3,1,54,23,2,1,4,2}怎么样知道这个数组

怎么样算出一个整形数组中的不同的元素的个数
int[] a = {1,2,4,5,3,1,54,23,2,1,4,2};怎么样知道这个数组中不同的元素的个数。

[解决办法]

Java code
int[] a = {1,2,4,5,3,1,54,23,2,1,4,2};ArrayList<Integer> list = new ArrayList<Integer>();list.add(a[0])for(int i=1;i<a.length;i++){    if(!list.contain(a[i]){        list.add(a[i]);    }}System.out.println("不同元素的个数为:"+list.size());
[解决办法]
[code=Java][/code]package com.imtiax.io;

import java.util.Arrays;

public class Num {

public static void main(String[] args) {

int[] a = {1,2,4,5,3,1,54,23,2,1,4,2};
Arrays.sort(a);

int n = 1;
for(int i = 0; i < (a.length - 1); i++) {
if (a[i] != a[i+1])
n++;
}
System.out.println(n);
}

}

[解决办法]
Java code
import   java.util.*;  class   Test{      public   static   void   main(String[]   args){        int[] a = {1,2,4,5,3,1,54,23,2,1,4,2};        int Count=0;        for (int i=0;i<a.length;i++){          boolean exitsFlag=false; // false表示没有重复                      for (int j=0;j<i;j++)          {             if(a[i]==a[j])             {               exitsFlag=true;  // true表示有重复               break;             }          }          if(!exitsFlag){            Count++;          }                      }      System.out.print("数组中不同的元素的个数:"+Integer.toString(Count));  }}/** 数组中不同的元素的个数:7 **/
[解决办法]
sort
然后detect phase change即可。
整数的话,连sort都是O(N)的,所以就是O(N)的算法。
[解决办法]
简单的方法,放入一个Set<Integer>的集合里面,最后得到的就是不重复的数据了

1楼的方法改进一下就行了
Set<Integer> set = new HashSet<Integer>();
.. 然后把全部数据都放进去



[解决办法]
探讨
简单的方法,放入一个Set <Integer>的集合里面,最后得到的就是不重复的数据了
1楼的方法改进一下就行了
Set <Integer> set = new HashSet <Integer>();
.. 然后把全部数据都放进去

[解决办法]
探讨
sort
然后detect phase change即可。
整数的话,连sort都是O(N)的,所以就是O(N)的算法。

热点排行