【剑指Offer面试编程题】题目1516:调整数组顺序使奇数位于偶数前面--九度OJ
- 题目描述:
 - 
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
 
- 输入:
 - 
每个输入文件包含一组测试案例。
对于每个测试案例,第一行输入一个n,代表该数组中数字的个数。
接下来的一行输入n个整数。代表数组中的n个数。 
- 输出:
 - 
对应每个测试案例,
输入一行n个数字,代表调整后的数组。注意,数字和数字之间用一个空格隔开,最后一个数字后面没有空格。 
样例输入:
5
1 2 3 4 5
样例输出:
1 3 5 2 4
【解题思路】本题的思路还是比较简单的,对输入的每一个元素都进行判断,若是奇数则直接输出;如是偶数则存入vector中等后续处理。中间只需要对第一个元素的输出格式进行一下特殊处理即可。
AC code:
#include <cstdio>
#include <vector>
using namespace std; int main()
{
int n,a;
scanf("%d",&n);
if(n<=0)
return 0;
vector<int> vec2;
bool prt=false;
for(int i=0;i<n;++i)
{
scanf("%d",&a);
if(a%2==1 && prt)
printf(" %d",a);
else if(a%2==1 && !prt)
{
prt=true;
printf("%d",a);
}else
vec2.push_back(a);
}
int i1=0,i2=0;
if(!prt)
printf("%d",vec2[i2++]);
for(;i2<vec2.size();++i2)
printf(" %d",vec2[i2]);
return 0;
}
/**************************************************************
Problem: 1516
User: huo_yao
Language: C++
Result: Accepted
Time:70 ms
Memory:1416 kb
****************************************************************/
九度-剑指Offer全套习题答案下载:http://download.csdn.net/detail/huoyaotl123/8276299
【剑指Offer面试编程题】题目1516:调整数组顺序使奇数位于偶数前面--九度OJ的更多相关文章
- 《剑指offer》— JavaScript(13)调整数组顺序使奇数位于偶数前面
		
调整数组顺序使奇数位于偶数前面 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的 ...
 - (剑指Offer)面试题14:调整数组顺序使奇数位于偶数前面
		
题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 如果去掉约束条件: ...
 - [Jobdu] 题目1516 : 调整数组顺序使奇数位于偶数前面
		
void diffOddAndEven(int a[], int n) { , high = n - ; int pivot; while (low < high) { == && ...
 - 剑指Offer - 九度1516 - 调整数组顺序使奇数位于偶数前面
		
剑指Offer - 九度1516 - 调整数组顺序使奇数位于偶数前面2013-11-30 02:17 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部 ...
 - 九度OJ 1516 调整数组顺序使奇数位于偶数前面 -- 归并排序
		
题目地址:http://ac.jobdu.com/problem.php?pid=1516 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的 ...
 - 剑指Offer面试题:13.调整数组顺序使奇数位于偶数前面
		
一.题目:调整数组顺序使奇数位于偶数前面 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 例如有以下一个整数数组:12345 ...
 - 剑指Offer面试题:11.调整数组顺序使奇数位于偶数前面
		
一 题目:调整数组顺序使奇数位于偶数前面 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 二 解题思路 如果不考虑时间复杂度 ...
 - 《剑指offer》第二十一题(调整数组顺序使奇数位于偶数前面)
		
// 面试题21:调整数组顺序使奇数位于偶数前面 // 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有 // 奇数位于数组的前半部分,所有偶数位于数组的后半部分. #inclu ...
 - 剑指offer:调整数组顺序使奇数位于偶数前面
		
题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 分析 事实上,这个题比较简单,很多种方式都可以实现,但是其时间复杂度或空间复 ...
 
随机推荐
- Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。
			
通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...
 - Vue-设置默认路由选中
			
需求分析: 一个导航组件,需要其中一个是选中状态,并且样式呈现高亮,选中的导航对应的页面也需要展示出来. 功能实现: router-link内置有一个选中状态,当处于当前路由时,会给 router-l ...
 - RS232与RS485
			
1.RS232实物图与引脚图? 2.RS485实物图与引脚图?
 - ubuntu资料
			
1.VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面,直接使用自带远程工具) https://www.cnblogs.com/xuliangxing/p/7642650.h ...
 - eclipse 热部署
			
参考: http://blog.sina.com.cn/s/blog_be8b002e0101koql.html
 - Codeforces Round #600 (Div. 2) - D. Harmonious Graph(并查集)
			
题意:对于一张图,如果$a$与$b$连通,则对于任意的$c(a<c<b)$都有$a$与$c$连通,则称该图为和谐图,现在给你一张图,问你最少添加多少条边使图变为和谐图. 思路:将一个连通块 ...
 - hdu1698 区间更新
			
初写线段树的时候,印象最深的一道,有一个pushdown的操作,使我的tle变成了ac 题意 输入t,然后t组数据 输入n,m,n代表n个点上价值全是1的绳子,m代表m次操作 m行l,r,val 就 ...
 - 解决centos7命令无法补全
			
背景 偶然发现本地虚拟机centos 7.7配置firewalld-cmd命令行无法补全,手敲命令太多,着实麻烦 解决方案 安装linux命令行补全工具,还能够补全命令参数 yum install b ...
 - LVS负载均衡软件使用及(LVS简介、三种工作模式、十种调度算法)
			
一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案, ...
 - [IDEA] Idea复制文件到项目一直updating indices的问题
			
通常我们在开发JavaWeb项目的时候,都需要先将网页写好,在进行复制到web目录下,如果里面包含了很多的资源文件,就会造成一直updating indices. 方法一: 这是因为项目需要对web目 ...