首页 > 移动平台 > 详细

Android面试算法题之拆分元素

时间:2015-02-06 15:17:30      阅读:306      评论:0      收藏:0      [点我收藏+]
.//有一个整数数组,有负数和整数,用一个方法把正负数分开,要求空间复杂度是O(1),时间复杂度是:O(N)
/**
    * 分数组
    */
   public static void awaylist(){
      int a[] = new int[]{5,-2,4,6,-1,3,-9,-8};
      int start = 0;
      int temp = 0;
      for(int i=0;i<a.length;i++){
        if(a[i]>0&&start==0){
           continue;
        }else if(a[i]<0&&start==0){
           start = i;
        }else if(a[i]>0&&start!=0){
           //无论怎么样,调换后,start的下个位置一定小于0;所以start++。
           temp = a[start];
           a[start] = a[i];
           a[i] = temp;
           if(i>start){
              start++;
           }
        }
      }
      for(int i=0;i<a.length;i++){
        System.out.println(a[i]);
      }
   }


Android面试算法题之拆分元素

原文:http://my.oschina.net/u/1463920/blog/376079

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!