InterviewProblems
package com.xiaoysec; /**
* 下面是面试趣医网技术面的时候出现的一个简单的题目 题目的要求是将一个数组中的奇数和偶数进行分离 以奇数在前一部分为例进行解题
* 算法的主要思想是双指针法对前后两个元素进行奇偶判断
*
* @author xiaoysec
*
*/
public class Sort {
// 完成数组奇偶数的
public void split(int[] arr) {
int temp = 0;
for (int i = 0, j = arr.length-1; i <= j;) {
// 左边是奇数 右边是偶数的情况
if ((jishu(arr[i])) == 1 && (jishu(arr[j])) == 0) {
i++;
j--;
}
// 左边是奇数 右边是奇数
if ((jishu(arr[i])) == 1 && (jishu(arr[j])) == 1) {
i++;
}
// 左边是偶数 右边是奇数
if ((jishu(arr[i]) == 0) && (jishu(arr[j])) == 1) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
// 两边都是偶数
if ((jishu(arr[i])) == 0 && (jishu(arr[j])) == 0) {
j--;
}
} } // 奇偶数判断函数
public int jishu(int k) {
if (k % 2 == 0)
return 0;
else
return 1;
} public static void main(String[] args) {
int[] arr = new int[] {4,6,8,0,1,3,7};
System.out.println("before sort:");
for (int i : arr) {
System.out.print(i + " ");
}
System.out.println();
Sort s = new Sort();
s.split(arr);
System.out.println("after sort:");
for (int i : arr) {
System.out.print(i + " ");
}
} }
InterviewProblems的更多相关文章
随机推荐
- Android分析第三方应用layout的神器
hierarchyviewer.bat或者monitor.bat一直都是分析layout的神器,只是.非常多时候不好用,连不上真机,害的我不得不使用模拟器来分析layout. 今天发现了另外一个神器. ...
- 通过 Autostereograms 案例学习 OpenGL 和 OpenCL 的互操作性
引言 在过去的十年里, GPU (图形处理单元)已经从特殊硬件(特供)转变成能够在数值计算领域开辟新篇章的高性能计算机设备. 很多算法能够使用拥有巨大的处理能力的GPU来快速运行和处理大数据量.即使在 ...
- ExtJs3学习资料分享
最近在学习EXTJS3,在网上找了一些pdf的书.不过网上分享的有些书都是Ext2.0的.Ext3的比较少.有些书也不全.很多是样章.最近找到一本分享的书<ExtJS源码分析与开发实例宝典> ...
- C#运算符的优先级
在C#中,一共有38个常用的运用符,根据它们所执行运算的特点和它们的优先级,为了便于记忆,我将它们归为七个等级:1.单元运算符和括号.2.常规算术运算符.3.位移运算符.4.比较运算符.5.逻辑运算符 ...
- WCF通信过程
无废话WCF入门教程二[WCF应用的通信过程] 一.概述 WCF能够建立一个跨平台的安全.可信赖.事务性的解决方案,是一个WebService,.Net Remoting,Enterprise Ser ...
- vbox下安装 linux 64 bit出现“kernel requires an x86_64 cpu
今天在vbox下安装linux 64bit出现"kernel requires an x86_64 cpu, but only detected "的错误,网上有很多文章介 ...
- Android之Socket通信(一)
一.服务器端,运行在PC机上 import java.io.*; import java.net.*; public class SimpleServer{ public static voi ...
- 03JS高级关于为空的变量判断
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- 等待事件:enq: HW - contention和enq: TM - contention
今天生成了生产库前几日的AWR报告,发现等待事件中出现了一个陌生的event--enq: HW - contention,google一下是ASSM(Auto Segment Space Manage ...
- Spring学习之切入点表达式
链接地址:http://jinnianshilongnian.iteye.com/blog/1415606