飘零人

飘零人

导航

测试数组中是否有重复值

Posted on 2008-05-14 17:41  飘零人  阅读(620)  评论(0)    收藏  举报

1:有一长度为100的无序随机整型数组,且数值范围是[1,100],写一算法,判断数组中是否有存在重复值,不得嵌套循环,不得使用递归。
function(int [] a)
{
         //定以一个数组用来承接需要测试的数组
         int [] array = a ;

         //定义一个数组测试用,思想:数组的下标和值都是上一个数组元素中的值
         int [] Array = new int [101] ;

          //将数组的值都复制到测试数组中 
          for (int i = 0;i < 100;i ++)
          {
                      int a = array [i];
                      Array [a] = a;
           }
 
         //如果数组没有重复,则会填满测试数组,否则数组中将出现自动初始化的值
         for (int i = i; i <101 ;i ++)
         {
                      //判断如果数组中有自动初始的值,则数组没有被填满
                      if (Array [i] == 0 )
                      {
                               return false;
                       }
         }
           return true;
}