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

【微软谷歌口试100题-【54】调整数组顺序使奇数位于偶数前面

2012-09-09 
【微软谷歌面试100题--【54】调整数组顺序使奇数位于偶数前面题54调整数组顺序使奇数位于偶数前面。题目:输入

【微软谷歌面试100题--【54】调整数组顺序使奇数位于偶数前面

题54

调整数组顺序使奇数位于偶数前面。

题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,

所有偶数位于数组的后半部分。要求时间复杂度为O(n)。

public class Algorithm54_0 {public static void main(String[] args) {int a[]={7,8,2,4,59,6,1,45,52};int i=0,j=a.length-1;while(i<j){if((a[j]&1)==0) j--;//判断是否是奇数if((a[i]&1)!=0) i++;swap(a, i, j);i++;j--;}for(int aa:a){System.err.println(aa);}}static void swap(int a[],int i,int j){int temp=a[j];a[j]=a[i];a[i]=temp;}}


热点排行