两个基础算法

/**
 * <p>文件名称: MaxInArray.java </p>
 * <p>文件描述: 找出数组中的最大值</p>
 * @version 1.0
 * @author foxliucong
 */

public class MaxInArray
{
  public static int getMaxFromArray(int[] array) throws Exception{
      //假想的最大值,作为临时变量替换
      int tempMax = 0;
     
      if(array == null || array.length == 0){
          throw new Exception("the para array is not correct!");
      }
     
      for(int i=0;i < array.length;i++){
          if(array[i] > tempMax){
              tempMax = array[i];
          }
      }

      return tempMax;
     
  }
 
  public static void main(String[] args) throws Exception{
      int[] array = {3,65,8,5,3,2,0,89,77,63};
      System.out.println(MaxInArray.getMaxFromArray(array));
  }
}

 

===================================

 

/**
 * <p>文件名称: DuplicateStatics.java </p>
 * <p>文件描述:统计数组中重复的数的重复次数</p>
 * @version 1.0
 * @author liucong
 */

public class DuplicateStatics
{
   public static int[] findDuplicateNum(int[] array){
     
       int maxNum = getMaxNum(array);
      
       int[] duplicateTimesArray = new int[maxNum+1];
       
       for(int i=0;i<array.length;i++){
           duplicateTimesArray[array[i]]++;
       }
      
       return duplicateTimesArray;
   }
  
   /**
    * 找出最大数
    *
    */
   private static int getMaxNum(int[] array){
      
       int maxTemp = array[0];
      
       for(int i=1;i<array.length;i++){
           if(array[i] > maxTemp){
               maxTemp = array[i];
           }
       }
      
       return maxTemp;
      
   }
  
   public static void main(String[] args){
       int[] ret = DuplicateStatics.findDuplicateNum(new int[]{9,3,9,7,5,9,5,8,9,9});
       for(int i=0;i<ret.length;i++){
           System.out.print(ret[i]);
       }
   }
}

 

你可能感兴趣的:(两个基础算法)