面试题,凑14,将数组中相加为14的数去除,并升序排列
面试题,凑14,将数组中相加为14的数去除,并升序排列
Dreamer91 发表于3年前
面试题,凑14,将数组中相加为14的数去除,并升序排列
  • 发表于 3年前
  • 阅读 10
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

 package com.codemo;

public class TestCase {
 public static final Integer[] a = new Integer[]{9,9,1,5,7,13};
 public static void main(String[] args) {
  //计算消除的次数
  int count = 0;
  
  for( int i = 0; i < a.length - 1 ; i ++ ){
   for( int j = i + 1; j < a.length ; j ++ ){
    if( (a[i] != null && a[j] != null) &&( a[i] + a[j] == 14) ){
     a[i] = null;
     a[j] = null;
     count++;
    }
    
   }
   
  }
  
  Integer[] tmp = new Integer[a.length - (count * 2)];
  //局部变量
  int c = 0;
  for( Integer i : a ){
   if( i != null )
    tmp[c++] = i;
  }
  
  sort(tmp);
 }
 
 
 //冒泡排序
 public static void sort( Integer[] src ){
  for( int i = 0 ;  i < src.length - 1; i ++ ){
   for( int j = 0; j < src.length - 1 -i ; j++ ){
    if( src[j] > src[j+1]  ){
     Integer tmp = src[j];
     src[j] = src[j+1];    
     src[j+1] = tmp;
    }
   }
  }
  
  
  for( Integer i : src ){
   System.out.print(i+" ");
   
  }
 }
}

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 2
博文 6
码字总数 1196
×
Dreamer91
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: