剑指offer之【调整数组顺序使奇数位于偶数前面】
题目要求:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
解题方法:
方法一:时间复杂度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之【调整数组顺序使奇数位于偶数前面】相关推荐
- 《LeetCode力扣练习》剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java
<LeetCode力扣练习>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java 一.资源 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组 ...
- 【LeetCode】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
[LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 文章目录 [LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 一.双指针 一.双指针 解题思路: ...
- 剑指Offer #13 调整数组顺序使奇数位于偶数前面 | 图文详解
题目来源:牛客网-剑指Offer专题 题目地址:调整数组顺序使奇数位于偶数前面 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的 ...
- 【双100%解法】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
立志用最少的代码做最高效的表达 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4] 输 ...
- 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数
一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...
- Leetcode 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 (每日一题 20210917)
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分.示例:输入:nums = [1,2,3,4] 输出:[1,3,2,4] 注:[3,1 ...
- 《剑指offer》调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 解法一:用两个lis ...
- 《剑指Offer》 调整数组顺序使奇数位于偶数前面
题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 思路: 先取a ...
- 【剑指offer】调整数组顺序使奇数位于偶数前面
一.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 二.思路: 用 ...
- 剑指offer——21.调整数组顺序使奇数位于偶数前面
题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 知识点: 保证相对位置 ...
最新文章
- groovy 使用java类_在java中使用groovy怎么搞 (java and groovy)
- Python 内建函数
- linux 病毒脚本,解析常见的Linux病毒
- 缓冲区 cin() getline() getchar()
- 创建分区表+分区表的分类+创建散列分区表+查看散列分区表分区中的数据+创建列表分区表+查看列表分区表分区中的数据...
- C++ Primer 5th笔记(chap 14 重载运算和类型转换)函数匹配与重载运算符
- Android Studio 插件开发详解四:填坑
- 树的宽度 递归法和非递归法
- redis源码剖析(十二)—— RDB持久化
- centos7限制普通用户访问单一目录下的单一文件
- Python 只读属性的实现
- csuoj 1355: 地雷清除计划
- 基于UPS效率进行准确的效用成本分析
- python中日期和时间格式化输出的方法
- 文件服务器自动化管理
- 强连通分量的一种类 Tarjan 算法以及Tarjan算法推导初探
- 教你如何关闭445端口
- Spring Boot-入门
- docker之旅,附带实例脚本
- 迟来的2021年终总结,2022已开始,Good luck every one! No pain No gain!
热门文章
- 原型模式(ProtoType) - Java里的对象复制
- Oracle with子句的简单介绍.
- 2020 我的C++的学习之路
- ccf-csp #201912-1 报数
- MYSQL交通系统查询,城市公交查询系统的设计与实现(SSH,MySQL)(含录像)
- mysql order by 日期_mysql order by基于时间的盲注
- 6 岁!是时候重新认识下 Serverless 了
- springmvc怎么解析post_秋招跳槽,面试是拦路虎?【spring、springMVC】- 常见面试题汇总...
- angular 多个片段拼接_10个JavaScript代码片段,帮助你成为更好的开发者
- php yield 个人小解_php 技术 yield 问题