首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >面试问题:奇偶位置上的奇偶元素(保持元素顺序)

问面试问题:奇偶位置上的奇偶元素(保持元素顺序)
EN

Stack Overflow用户
提问于 2019-07-16 19:24:48
回答 1查看 342关注 0票数 2

以下问题是在一次采访中提出的:

给出一个数组。任务是排列数组,以便:

  • 奇数元素占据奇数位置,偶数元素占据偶数位置。

-元素的顺序必须保持不变。

  • 考虑基于零的索引。
  • 按条件打印后,如果剩余,则按原样打印其余元素。

示例:

输入: Arr = 2、4、6、8、10、1、3、5、7、9

产出: Arr= 2,1,4,3,6,5,8,7,10 9

是否存在无常数空间(即O(1))且在O(N)时间内的解?

EN

回答 1

Stack Overflow用户

发布于 2019-08-04 13:56:36

如果有n/2偶数元素和n/2奇数元素,则解可以非常简单,保留一个“偶数指针”和“奇数指针”,指向新数组中的第一个偶数空位置,以及新数组中的第一个奇数空位置。与其简单地遍历旧数组,在正确的位置填充元素,而且不要忘记将指针增加2;如果奇数元素的数目比偶数元素差-u可以发现O(n)上有多少偶数和奇数,所以这个问题也很简单。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57064175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档