首页 > 试题广场 > 调整数组顺序使奇数位于偶数前面
[编程题]调整数组顺序使奇数位于偶数前面
  • 热度指数:662836 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
头像 Ariser.cn
发表于 2019-08-21 16:37:38
思路:参考快速排序 i++往前走碰到偶数停下来,j = i+1 若 a[j]为偶数,j++前进,直到碰到奇数 a[j]对应的奇数插到a[i]位置,j经过的j-i个偶数依次后移 如果j==len-1时还没碰到奇数,证明i和j之间都为偶数了,完成整个移动 class Solution { p 展开全文
头像 jav
发表于 2019-08-26 19:41:32
move elements public class Solution { public void reOrderArray(int [] array) { if(array==null || array.length ==0){ return ; 展开全文
头像 PualrDwade
发表于 2019-09-12 17:54:37
一个很容易理解的解法,时间复杂度为o^2我们可以借鉴冒泡排序的特点,让偶数不断向右边移动,而冒泡的过程本身也可以保证相对顺序的不变,最后所有的偶数都移动到了右边,最坏情况下外层循环需要进行array.size()次。 class Solution { public: void reOrder 展开全文
头像 道阻且长z
发表于 2019-09-25 01:35:31
思路: 开辟新数组保存法:创建两个数组,一个用来存奇数,一个用来存偶数,最后合并。 不开辟新数组: 1.用两个下标i,j进行遍历; 2.当i走到偶数时停下,并让j从i的后一个元素开始遍历;(若i走到队尾则循环结束) 3.若j所指的是偶数则继续前进,j遇到奇数则停下(如果j都没遇到奇数则在队尾停 展开全文
头像 Jalr4ever
发表于 2019-08-25 21:44:03
剑指 - 调整数组奇数位于偶数前 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路 使用两个队列,一个存奇数,一个存偶数,然后依次将数赋值回原数组 总结 位运算的实 展开全文
头像 糊秃秃
发表于 2019-08-23 13:14:47
插入排序过程中,序列分为已遍历部分和未遍历部分,已遍历序列有序,未遍历序列有序性未知,为了做到这一点,在每遍历每一个数时O(n),依次在已遍历序列中从后往前比较O(n),将当前数放入适当位置,直至未遍历部分为空O(n ^ 2)。相当于摸牌将牌组分为,手中的牌和牌组中的牌,手中的牌有序,牌组中的牌有序 展开全文
头像 Husterking
发表于 2019-09-03 16:35:54
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路思路1:开辟新的数组,遍历原数组将奇数偶数分别放在新的空间里,最后合并。时间复杂度O(n),开辟了额外的数组空间,空 展开全文
头像 Cyril-廖思睿
发表于 2020-01-03 01:40:39
方式一 类似于冒泡排序法 public class Solution { public void reOrderArray(int[] array) { if (array == null || array.length < 2) { return; } 展开全文
头像 BillyHao
发表于 2020-01-06 09:36:40
思路,把原数组分成一个奇数组一个偶数组,再按顺序复制回去,这样,只需要遍历两次原数组即可。(一次读出,一次写入)空间效率下降,因为额外有两个数组用于记录,但时间效率较好。 public void reOrderArray(int [] array) { //所以此时,这两个array长度都= 展开全文
头像 back201811142225988
发表于 2019-09-27 23:35:57
遍历数组,从0到n,如果是奇数,i++,如果是偶数,将这个偶数插入到数组末尾,然后删除这个偶数,同时n--,确保不会出现全是偶数的情况下死循环或者遍历到了新插入的偶数上。 # -*- coding:utf-8 -*- class Solution: def reOrderArray(self 展开全文