83.第 3 组百度面试题 数组使得数组左边为奇数,右边为偶数
2014-10-22 22:24
267 查看
83.第 3 组百度面试题
1.今年百度的一道题目
百度笔试:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
要求:空间复杂度 O(1),时间复杂度为 O(n)。
1.今年百度的一道题目
百度笔试:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
要求:空间复杂度 O(1),时间复杂度为 O(n)。
/* 83.第 3 组百度面试题 1.今年百度的一道题目 百度笔试:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度 O(1),时间复杂度为 O(n)。 与54题相同 使改变数组顺序 使奇数位于偶数前面 */ #include<iostream> #include<stdio.h> using namespace std; void swap(int *a,int *b) { int t; t=*a; *a=*b; *b=t; } void adjust(int *a,int n) { int i,j; i=0;j=0; while(i<n) { if(a[i]%2==1)//奇数交换 { swap(&a[i],&a[j]); j++; } i++; } } int main() { int a[]={1,2,3,4,5,6,7,8,9}; int b[]={1,1,3,4,6,6,6,5,5,7,8,8,9,9}; int len,i; len=sizeof(a)/sizeof(int); for(i=0;i<len;i++) printf("%d",a[i]); printf("\n"); adjust(a,len);//变换 for(i=0;i<len;i++) printf("%d",a[i]); printf("\n"); printf("*****************\n"); len=sizeof(b)/sizeof(int); for(i=0;i<len;i++) printf("%d",b[i]); printf("\n"); adjust(b,len);//变换 for(i=0;i<len;i++) printf("%d",b[i]); printf("\n"); return 0; }
相关文章推荐
- 百度笔试:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数---百度笔试题
- 重新排列数组,使得数组左边的数字为奇数,数组右边的数字为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 160 重新排列数组使得数组左边为奇数,右边为偶数
- 4.给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)
- 如何重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)。
- 编程: 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 重新排列数组使得数组左边为奇数,右边为偶数--方法三
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。要求:空间复杂度O(1),时间复杂度为O(n)
- 重新排列数组使得左边为奇数,右边为偶数
- 重排数组使得数组左边为奇数,右边为偶数
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 题目:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。