P102、面试题14:调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的属性怒,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
package com.yyq; /**
* Created by Administrator on 2015/9/13.
*/
public class ReorderArray {
public static void reorderOddEven(int[] data){
if(data == null) return;
int start = 0;
int end = data.length - 1;
//奇数放前面,偶数放后面
while(start < end){
while(start < end && (data[start] & 0x1) != 0){
start++;
}
while(start < end && (data[end] & 0x1) == 0){
end--;
}
int temp = data[start];
data[start] = data[end];
data[end] = temp;
}
} // ====================测试代码====================
public static void printArray(int numbers[])
{
if(numbers == null)
return;
int len = numbers.length;
for(int i = 0; i < len; ++i)
System.out.print(numbers[i]+"\t");
System.out.println();
} public static void Test(String testName, int numbers[])
{
if(testName != null)
System.out.println(testName+" begins:");
if (numbers == null)
return;
System.out.println("Test for solution 1:");
printArray(numbers);
reorderOddEven(numbers);
printArray(numbers);
System.out.println();
} public static void Test1()
{
int numbers[] = {1, 2, 3, 4, 5, 6, 7};
Test("Test1", numbers);
} public static void Test2()
{
int numbers[] = {2, 4, 6, 1, 3, 5, 7};
Test("Test2", numbers);
} public static void Test3()
{
int numbers[] = {1, 3, 5, 7, 2, 4, 6};
Test("Test3", numbers);
} public static void Test4()
{
int numbers[] = {1};
Test("Test4", numbers);
} public static void Test5()
{
int numbers[] = {2};
Test("Test5", numbers);
} public static void Test6()
{
Test("Test6", null);
} public static void main(String[] args)
{
Test1();
Test2();
Test3();
Test4();
Test5();
Test6();
}
}
P102、面试题14:调整数组顺序使奇数位于偶数前面的更多相关文章
- C++版 - 剑指offer面试题14: 调整数组顺序使奇数位于偶数前面
题目: 调整数组顺序使奇数位于偶数前面 热度指数:11843 时间限制:1秒 空间限制:32768K 本题知识点: 数组 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇 ...
- 剑指offer编程题Java实现——面试题14调整数组顺序使奇数位于偶数之前
题目: 输入一个整数数组,实现一个函数来调整该数组中数组的顺序,使得所有的奇数位于数组的前半部分,偶数位于数组的后半部分. 解题思路:数组中维护两个指针,第一个指针初始化时候指向数组头部,第二个指针初 ...
- 剑指Offer:面试题14——调整数组顺序使奇数位于偶数前面(java实现)
问题描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 思路: 1.最简单的想法,不考虑时间复杂度,扫描数组,遇到偶数,先取出这 ...
- 剑指offer-面试题14.调整数组顺序使奇数位于偶数的前面
题目:输入一个整数数组,实现一个函数来调整该数组中的数字的顺序, 使得所有的奇数位于数组的前半部门,所有的偶数位于数组的后半部门. 这一题一看其实是很简单的,当然在不考虑效率的情况可以这样考虑 我们将 ...
- 《剑指offer》面试题14 调整数组顺序使奇数位于偶数前面 Java版
(输入整数数组,使所有奇数位于前半部分,所有偶数位于后半部分.) 我的方法:想到用两个下标分别表示奇数和偶数的界线,一个在开头,一个在末尾,判断每一个数字的类别,然后将它放入对应的范围内,移动下标,直 ...
- 【剑指offer】面试题 21. 调整数组顺序使奇数位于偶数前面
面试题 21. 调整数组顺序使奇数位于偶数前面
- 《剑指offer》面试题21. 调整数组顺序使奇数位于偶数前面
问题描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4] 输出:[1,3,2,4] ...
- 剑指offer 14 调整数组顺序使奇数位于偶数前面
牛客网上的题目还有一个额外的要求,就是不改变数组原始的前后数据,这种可以用队列来存储,或者把前后比较变为相邻的元素比较. 这个题目,主要要考察扩展性,用func函数就实现了扩展性.只需要改func函数 ...
- 【剑指Offer面试题】 九度OJ1516:调整数组顺序使奇数位于偶数前面
题目链接地址: http://ac.jobdu.com/problem.php?pid=1516 题目1516:调整数组顺序使奇数位于偶数前面 时间限制:1 秒内存限制:128 兆特殊判题:否提交:2 ...
- 剑指Offer面试题:13.调整数组顺序使奇数位于偶数前面
一.题目:调整数组顺序使奇数位于偶数前面 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 例如有以下一个整数数组:12345 ...
随机推荐
- KMeans聚类算法Hadoop实现
Assistance.java 辅助类,功能详见注释 package KMeans; import org.apache.hadoop.conf.Configuration; import org. ...
- 真正的inotify+rsync实时同步 彻底告别同步慢
真正的inotify+rsync实时同步 彻底告别同步慢 http://www.ttlsa.com/web/let-infotify-rsync-fast/ 背景 我们公司在用in ...
- grails环境搭建
关于grails,前方有大坑,入坑需谨慎. 使用grails,最好有人指点,因为有很多坑等着你去跳.如果完全是自己折腾,每前进一步都会花一些时间,且不说这些时间用来干其他事情有更多回报,光是像堵车一样 ...
- <script type="text/html"></script> js模版使用
<div></div> <script type="text/html" id="javascript_template"> ...
- 用phpmailer发邮件 中文乱码问题解决
加入如下代码解决. $mail->CharSet = "GB2312"; //utf-8; $mail->Encoding = "base64"; ...
- jquery nicescroll 配置参数
jQuery滚动条插件兼容ie6+.手机.ipad http://www.areaaperta.com/nicescroll/ jQuery(function($){ $("#scrollI ...
- 利用ApnsPHP包向IOS推送消息
header('content-type:text/html;charset=utf-8'); require_once 'ApnsPHP/Autoload.php'; require_once 'A ...
- php session学习笔记(实例代码)
http 无状态协议 一个服务器向客户端发送消息的时候有三条信息 一是状态二是头信息三是内容 会话控制 让一个用户访问每个页面,服务器都知道是哪个用户访问 cookie cookie是通过头信息发送 ...
- Spark Streaming揭秘 Day26 JobGenerator源码图解
Spark Streaming揭秘 Day26 JobGenerator源码图解 今天主要解析一下JobGenerator,它相当于一个转换器,和机器学习的pipeline比较类似,因为最终运行在Sp ...
- Beaglebone Back学习七(URAT串口测试)
URAT串口测试