调整数组顺序使奇数位于偶数前面(剑指offer-13)
方法1:新建两个数组,一个数组用来放奇数,一个数组用来放偶数,最后再把它们合并起来。
1 import java.util.*;
2 public class Solution {
3 public void reOrderArray(int [] array) {
4 ArrayList<Integer> a = new ArrayList<>();
5 ArrayList<Integer> b = new ArrayList<>();
6
7 for(int i=0;i<array.length;i++){
8 if(array[i]%2==1){
9 a.add(array[i]);
10 }
11 else
12 b.add(array[i]);
13 }
14 //合并两个数组
15 int index = 0;
16 for(int x : a ){
17 array[index++] = x;
18 }
19 for(int x : b ){
20 array[index++] = x;
21 }
22 }
23 }
方法二:采用插入排序的思路,碰到奇数时就往前移动,直到前面的数也是奇数就停止。
 public class Solution {
     public void reOrderArray(int [] array) {
         for(int i=0;i<array.length;i++){
             if(array[i]%2 == 1){//遇到奇数时开始往前移动
                 for(int j=i-1;j>=0;j--){
                     if(array[j]%2==0){//移动到前面是偶数时,移动停止
                         int tem = array[j];
                         array[j] = array[j+1];
                         array[j+1] = tem;
                     }
                     else break;
                 }
             }
         }
     }
 }
调整数组顺序使奇数位于偶数前面(剑指offer-13)的更多相关文章
- 9、调整数组顺序使奇数位于偶数前面------------>剑指offer系列
		
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 思路 首先寻找第一个 ...
 - 剑指Offer面试题:13.调整数组顺序使奇数位于偶数前面
		
一.题目:调整数组顺序使奇数位于偶数前面 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 例如有以下一个整数数组:12345 ...
 - 剑指offer:调整数组顺序使奇数位于偶数前面
		
题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 分析 事实上,这个题比较简单,很多种方式都可以实现,但是其时间复杂度或空间复 ...
 - C++版 - 剑指offer面试题14: 调整数组顺序使奇数位于偶数前面
		
题目: 调整数组顺序使奇数位于偶数前面 热度指数:11843 时间限制:1秒 空间限制:32768K 本题知识点: 数组 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇 ...
 - 【Java】 剑指offer(21) 调整数组顺序使奇数位于偶数前面
		
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇 ...
 - 《剑指offer》第二十一题(调整数组顺序使奇数位于偶数前面)
		
// 面试题21:调整数组顺序使奇数位于偶数前面 // 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有 // 奇数位于数组的前半部分,所有偶数位于数组的后半部分. #inclu ...
 - 《剑指offer》— JavaScript(13)调整数组顺序使奇数位于偶数前面
		
调整数组顺序使奇数位于偶数前面 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的 ...
 - 剑指Offer面试题:11.调整数组顺序使奇数位于偶数前面
		
一 题目:调整数组顺序使奇数位于偶数前面 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 二 解题思路 如果不考虑时间复杂度 ...
 - 剑指Offer - 九度1516 - 调整数组顺序使奇数位于偶数前面
		
剑指Offer - 九度1516 - 调整数组顺序使奇数位于偶数前面2013-11-30 02:17 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部 ...
 - 剑指Offer:调整数组顺序使奇数位于偶数前面【21】
		
剑指Offer:调整数组顺序使奇数位于偶数前面[21] 题目描述 输入一个整形数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 解题分析 使用插 ...
 
随机推荐
- ELK的踩坑之旅
			
前言 设计思路如下 有3台机器 2台做elasticsearch的主副节点 1台做kibana和elasticsearch_head 由于机器匮乏我还在这台机器上部署了logstash和nginx服务 ...
 - 2.Redis 控制短信重发
			
需要两个缓存 key名称 phone-busy,缓存1分钟key名称 phone-send-count,缓存1天,每成功发送一条+1 发送的时候流程如下: 判断phone-busy是否存在,存在直接报 ...
 - [转] 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)
			
点击阅读原译文 原文见:http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers/ ...
 - DML_Data Modification_DELETE
			
DML_Data Modification_Delete删除记录比较简单,但是需要特别注意,一不小心,就变成了 “从删库到跑路“ 就掉的大了 /* Microsoft SQL Server 2008 ...
 - HTMLTestRunner生成html测试报告
			
使用:把文件放到项目某个文件夹中,引入方式如下 import unittest import env import vendor.report.HTMLTestRunnerNew as HTMLTes ...
 - 操作-读取excel
			
xlrd 该模块主要用来读取excel 注:sheet表示的是excel的表,就是底下的工作栏 (1) 打开excel文件并获取所有sheet import xlrd # 打开Excel文件读取数据 ...
 - The following packages will be SUPERCEDED by a higher-priority channel是什么意思?
			
参考资料: https://stackoverflow.com/questions/42015732/the-following-packages-will-be-superceded-by-a-hi ...
 - qemu-guest-agent详解
			
qemu guest agent简称qga, 是运行在虚拟机内部的一个守护程序(qemu-guest-agent.service),他可以管理应用程序,执行宿主机发出的命令. QEMU为宿主机和虚拟机 ...
 - rust 宏
			
macro_rules! four { () => {1 + 3}; } fn main(){ println!("{}", 1+four!()); println!(&qu ...
 - 漏洞复现 MS11-003
			
0x01漏洞简介 ms11-003(windows7IE溢出攻击) 是利用IE8中对css的解析存在一个问题,导致任何访问包含非法css的页面将导致IE8崩溃重启的漏洞. 0x02环境准备 攻击机:k ...