题目要求:

  输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

解题方法:

  方法一:时间复杂度O(n^2)

    最容易想到:从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有数字往前挪动一位。挪完之后在数组的末尾有一个空位,这时把该偶数放入这个空位;

  方法二:时间复杂度O(n)

    重新建立一个向量,然后进行两次扫描:第一次扫描奇数,第二次扫描偶数,完毕,不废话,直接上代码:

 1 class Solution{
 2 public:
 3     void reOrderArray(vector<int> &array){
 4         int len = array.size();
 5         vector<int> vec(array.begin(),array.end());
 6         int l = 0;
 7         for(int x: vec){
 8             if(x%2==1){
 9                 array[l++] = x;
10             }
11         }
12         for(int y : vec){
13             if(y%2 == 0){
14                 array[l++] = y;
15             }
16         }
17     }
18 };

转载于:https://www.cnblogs.com/wangshujing/p/6934629.html

剑指offer之【调整数组顺序使奇数位于偶数前面】相关推荐

  1. 《LeetCode力扣练习》剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java

    <LeetCode力扣练习>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java 一.资源 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组 ...

  2. 【LeetCode】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

    [LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 文章目录 [LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 一.双指针 一.双指针 解题思路: ...

  3. 剑指Offer #13 调整数组顺序使奇数位于偶数前面 | 图文详解

    题目来源:牛客网-剑指Offer专题 题目地址:调整数组顺序使奇数位于偶数前面 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的 ...

  4. 【双100%解法】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

    立志用最少的代码做最高效的表达 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4] 输 ...

  5. 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数

    一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...

  6. Leetcode 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 (每日一题 20210917)

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分.示例:输入:nums = [1,2,3,4] 输出:[1,3,2,4] 注:[3,1 ...

  7. 《剑指offer》调整数组顺序使奇数位于偶数前面

    题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 解法一:用两个lis ...

  8. 《剑指Offer》 调整数组顺序使奇数位于偶数前面

    题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 思路: 先取a ...

  9. 【剑指offer】调整数组顺序使奇数位于偶数前面

    一.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 二.思路: 用 ...

  10. 剑指offer——21.调整数组顺序使奇数位于偶数前面

    题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 知识点: 保证相对位置 ...

最新文章

  1. java 取字段_java – 获取字段的名称
  2. eclipse运行 Maven Test命令时控制台输出乱码的解决办法
  3. F5 云应用服务促进公共云、私有云及混合云应用部署
  4. UVa 1607 (二分) Gates
  5. 将用int型存储的时间转换成time时间格式笔记
  6. 为Java + STANDARD值引入Cucumber
  7. 马逊s3云存储接口_当对象存储“湖”有了强一致性
  8. postfixadmin 导入数据库出错 ERROR 1062 (23000) at line 29
  9. HDU-5877-Weak Pair(树状数组+离散化+dfs)
  10. 【BZOJ4008】【HNOI2015】亚瑟王 [期望DP]
  11. mysql 无符号 负数_mysql下有符号数和无符号数的相关问题
  12. python实现项目的复制_python实现复制大量文件功能
  13. 三维点云学习(2)五种算法比较
  14. python培训价目表-参加python培训要多少钱?
  15. jpeglib的jpeg_finish_compress函数疑似越界
  16. Linux内核分析:跟踪分析Linux内核的启动过程
  17. CSU 2124智慧树(建图+BFS)
  18. UE4_BIM替换材质处理流程
  19. 初学者用什么数位板好,手绘板选择注意什么?
  20. .Net框架搭建之2、SQL Server MEF依赖注入 MVC Repository框架

热门文章

  1. python json有什么用_为什么要学习用Python解析JSON数据?
  2. 栈和队列都是什么结构_数据结构与算法之初识栈与队列
  3. 路由策略原理及配置请查收......
  4. 云原生体系下 Serverless 弹性探索与实践
  5. Serverless 的喧哗与骚动(一)附Serverless行业发展回顾
  6. sqlite+php+函数大全,PHP SQLite SQLite 函数_编程学问网
  7. kaggle和colab入门
  8. 配置apache2目录
  9. c语言一位共阳数码管编程,求一个共阳四位数码管滚动显示1234的程序
  10. python常用内置函数汇总_太全了!Python3常用内置函数总结