剑指Offer_调整数组顺序使奇数位于偶数前面_13

剑指offer JS题解 (13)调整数组顺序使奇数位于偶数前面 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路 之前我是在leetcode上面做的这道题,leetcode上没有保证奇数和奇数,偶数和偶数之间的相对位置不变这个限制条件,做起来相对自由,可以用头尾双指针(对撞)交换的方式去做。但这道题在牛客上增加了这个条件,难度就上来了。 解法一,我一开始做的思路是把奇数与偶数分开来,然后再合并。相当于遍历第一次划分奇数偶数,遍历第二 阅读详情
package code;
//题目描述:调整数组顺序使奇数位于前面
//输入一个整数数组,实现一个函数来调整该数组中数字的顺序,
//使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,
//并保证奇数和奇数,偶数和偶数之间的相对位置不变。


//本来想改写快排patation部分的,后面写着写着发现快排是不稳定的。
//解法一:直接创建一个数组,遍历原数组,将奇数填进新数组,
//再遍历原数组,把偶数填进新数组,最后用新数组覆盖原数组
//解法二:参考插入排序,将奇数往前移
//
public class Offer13 
{
	public static void main(String[] args)
	{
		Offer13 offer = new Offer13();
		int[] array  = {1,2,3,4,5,6,7,8,9,10};
		offer.reOrderArray(array);
		
		for(int i = 0; i < array.length; i++)
		{
			System.out.print(array[i]);
		}
	}
	
	public void reOrderArray2(int[] array)
	{
		if(array == null || array.length < 2)
			return;
		
		for(int i = 1; i < array.length; i++)
		{
			if(array[i] % 2 == 0)
				continue;
			for(int j = i; j > 0; j--)
			{
				if(array[j-1] % 2 == 0)
				{
					int tmp = array[j];
					array[j] = array[j-1];
					array[j-1] = tmp;
				}
			}
		}
	}
	
	public void reOrderArray(int[] array) 
	{
		if (array == null || array.length < 2)
			return;

		int[] re = new int[array.length];
		int ptr = 0;
		for (int i = 0; i < array.length; i++) 
		{
			if (array[i] % 2 == 1) {
				re[ptr] = array[i];
				ptr++;
			}
		}

		for (int i = 0; i < array.length; i++) 
		{
			if (array[i] % 2 == 0) {
				re[ptr] = array[i];
				ptr++;
			}
		}

		for (int i = 0; i < array.length; i++) 
		{
			array[i] = re[i];
		}
	}

}

Python实战:3种高效方法将txt转csv(附pandas对比测试) 本文针对Python中将txt文件转换为csv格式的需求,深度评测了open()、csv模块和pandas三种主流方法。通过详尽的性能对比测试,从执行效率、内存占用和适用场景等维度提供选型指南,帮助开发者根据数据规模与复杂度选择最高效的转换方案。 阅读详情

相关推荐

即梦AI使用教程

摘要: 即梦AI是字节跳动推出的多模态AI创作平台,整合图片、视频、智能编辑功能,基于OmniHuman模型支持中英日三语操作。核心特点包括: 技术升级:4.0版本强化中文语义理解与微观表现力,新增故事分镜生成; 创作功能:支持文本/图片转视频、AI对口型、商业级抠图与多图层融合; 用户友好:移动/网页双端适配,灵感社区复用提示词,剪映生态无缝衔接; 应用场景:覆盖电商换装、虚拟主播、设计融合等需求,未来将开放API拓展生态。 (字数:149)

专业深耕,技术前沿 6306

告别截图!用mutool draw命令把PDF批量转成高清PNG图片(附Python脚本)

本文详细介绍了如何利用mutool命令行工具和Python脚本实现PDF到PNG的高效批量转换,告别低效的手动截图方式。通过解析mutool draw命令的关键参数和分辨率设置技巧,结合完整的Python自动化脚本,帮助用户轻松处理各类PDF文档转换需求,提升工作效率和输出质量。

weixin_30730053的博客 668

AUTOSAR网络管理配置详解:Vector DaVinci工具全面讲解

手把手带你用Vector DaVinci完成AUTOSAR网络管理模块的配置,涵盖NmChannel、NmPdu、重复帧抑制等关键参数设置,深入解析CAN总线上的NM报文调度与唤醒机制,助你扎实掌握AUTOSAR网络管理核心实践。

weixin_42504649的博客 168

调整数组顺序使奇数位于偶数前面,且奇数之间、偶数之间的相对位置不变

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题目地址:https://www.nowcoder.com/practice/beb5aa231adc45b2a5dcc5b62c93f593?tpId=13&amp;tqId=11166&amp;tPage=1&amp;rp=...

卓越无关环境,保持空杯心态——靡不有初,鲜克有终 3141

可信数据空间关键技术和功能架构研究

可信数据空间(TDS)是实现数据安全共享的基础设施,通过数字合约和使用控制技术确保数据跨域流通的可信与安全。其架构包括服务平台和接入连接器,关键技术涵盖访问控制、隐私计算、区块链等。评估重点在于合规性、连接器能力、互联互通及安全体系。核心在于构建规则引擎而非简单数据汇聚,连接器开发比平台建设更重要。当前面临技术成本博弈、跨域身份互认等挑战,需平衡安全、性能与成本,推动数据要素市场发展。

逸尘的专栏 2223

Speedtree学习笔记(案例)——拥有多种材质的植物如何导入使用(以草为例)

注:Speedtree无论保存还是导入模型其存储路径不可有中文。 第一步拆分草的模型 根据所需的材质去拆分(例:假若草的果实,茎秆和叶子是不同的材质那么就需拆分为三份;假若画的全部颜色及材质一样就没有必要去拆分模型) 第二步导入草的模型 在Mesh面板中依次导入草的模型——Do nothing additional right now 第三步扩大草的生长区域范围(可省略)...

L人青的博客 5722

剑指offer面试题14(Java版):调整数组顺序使奇数位于偶数的前面

题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 1、基本实现: 如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有的数字往前面挪动一位。挪完之后在数组的末尾有一个空位,这时把该偶数放入这个空位。由于没碰到一个偶数就需要移动O(n)个数字,因此总的时间复

D.K专栏 6636

手把手教你用STM32单片机控制双向可控硅调光(附完整代码+电路图)

本文提供了一套完整的STM32单片机控制双向可控硅实现灯光无级调光的实战方案。详细讲解了硬件电路设计,包括过零检测与隔离驱动,并剖析了基于定时器中断的软件核心逻辑,通过精准的相位角计算实现平滑的灯光强度控制。附有完整代码与电路图,适合嵌入式开发者实践。

weixin_29194255的博客 956

剑指offer14,调整数组顺序使奇数位于偶数前面(Java实现)

如果有不对的地方请发邮件到995232184@qq.com。若是不太明白思路或者过程也可发邮件给我,谢谢支持。 剑指offer只是要求,奇数在前半部分,偶数在后半部分,我写完去牛客调试的时候发现,要求保证奇数和奇数,偶数和偶数之间的相对位置不变。所以我又加了一段代码。   import java.util.Arrays; /**  * 题目:调整数组顺序使奇数位于偶数前面   * 描述:输...

ccstargazing的博客 1066

rk3568 修改开机动画

bootanimation.zip是一个Android设备启动时播放的动画文件,它包含了一系列的图片和描述文件,用于描述动画的播放顺序和持续时间。

weixin_35723192的博客 2728

如何通过单步调试的方法,找到 SAP Gateway 到底把 Fiori 应用发送的 OData 请求,投递到哪一台 ABAP 后台服务器了?

这是一个 Count 请求,得到服务器响应的数据是 204,这个 204 会以数字的形式,显示在 Fiori Launchpad tile 上。那如果当前 Gateway 系统可以连接到多台 ABAP 后台服务器,比如下图所示,可以连接 SAP S/4HANA,ERP 或者 SAP CRM,我怎么知道 SAP UI5 应用上显示的数据,到底来自哪一台 ABAP 后台服务器呢?,就是上图 ABAP 调试器里断点停留的位置,即 SAP Frontend 服务器,通过 RFC 将 OData 请求投递给。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 642

剑指Offer #13 调整数组顺序使奇数位于偶数前面 | 图文详解

牛客网剑指Offer专题题目图文详解,简单的一道题包含了你想不到的骚操作,十年磨剑只为今朝!

Veggie的博客 3万+

飞腾UEFI配置GPIO—飞腾FT2000/4 (D2000/8) GPIO引脚配置及使用

讲解了在飞腾UEFI代码中如何添加GPIO配置相关代码,并以GPIO1_B0—B7为例,将这8个引脚配置为GPIO工作模式并默认输出低电平

qq_30135687的博客 5344

《剑指Offer》13. 调整数组顺序使奇数位于偶数前面

题目:13. 调整数组顺序使奇数位于偶数前面 知识点:数组 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路: 解法一:这是我自己写出的解法,是针对于这道题目来说,因为我也想到了解法二的这种双指针的解法,但是很快就被排除掉了,因为这道题的要求中有一...

Coder Yang 452

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

剑指Offer13:调整数组顺序使奇数位于偶数前面

剑指Offe13:调整数组顺序使奇数位于偶数前面 1.题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 2.思路 创建双向队列,遍历数组,奇数前插入,偶数后插入。最后使用assign方法实现不同容器但相容的类型赋值。 知识点一:c++借助双向队列能从前、后分别插入数据的优势...

七小琦 184

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【剑指Offer】13、调整数组顺序使奇数位于偶数前面

题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题解:两个栈 1 public static void reOrderArray(int [] array) { 2 if(array.length==0){ 3 ...

princecharming666的博客 150

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

js剑指offer-13-调整数组顺序使奇数位于偶数前面

剑指offer13-调整数组顺序使奇数位于偶数前面 题目描述   输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 const reOrderArray = array =&gt; { const jishu = []; const oushu = []; ...

julian_draxler的博客 798

剑指Offer(13)--调整数组顺序使奇数位于偶数前面

文章目录题目描述思路与解答 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路与解答 用空间换时间做法,就是新建一个数组,copy一份,先计算出奇数的个数,也就是能够知道第一个偶数应该放在数组的哪一个位置,然后再遍历一次,依次放到对应的位置即可。 public class Solution { public void reOrderArray(int[] nums)

秦怀杂货店 1611

【剑指offer13】调整数组顺序使奇数位于偶数前面

【题目描述】 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变 【解决方法】 方法一:辅助数组 采用辅助数组的方式,将奇偶数分别保存到辅助数组 (1)先统计奇数个数; (2)遍历原数组,如果是奇数,放在辅助数组开头;如果是偶数,从辅助数组奇数个数位置开始存放 (3)将辅助数组copy到原数组上 p

song&life 196

《剑指 Offer》——13、调整数组顺序使奇数位于偶数前面

1. 本题知识点 数组 2. 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 例如: Input: [1,2,3,4,5] Output: [1,3,5,2,4] 3. 解题思路 创建一个奇数数组和一个偶数数组,将原数组中的奇数和偶数分别加入其中,最后将奇数数组和偶数数组赋值给原数组。 原数组:[1,2,3,4,5] 奇数数组:[1,3,5] 偶数数组:[2,4] 赋

bm1998 244

剑指offer第13题:调整数组顺序使奇数位于偶数前面

剑指offer第13题:调整数组顺序使奇数位于偶数前面题目描述调整数组顺序使奇数位于偶数前面分析思路一:从左到右遍历数组,引入两个数组分别按顺序保存奇数和偶数,再讲两个数组按照奇前偶后合并。源码 题目描述 调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置...

可爱的小腊肉 269

剑指offer(13)调整数组顺序使奇数位于偶数前面

package java_jianzhioffer_algorithm; import java.util.ArrayList; /** * 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序, * 使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分, * 并保证奇数和奇数,偶数和偶数之间的相对位置不变。 * @author hexiaoli *思路:1)笨方...

hxl0925的博客 289

【剑指offer】13-调整数组顺序使奇数位于偶数前面

1-Description 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变 2-Solution 首先可以考虑新开辟一个数组,并进行两次遍历原数组,这样可以方便的把奇数排在前面,偶数排在后面,具体代码如下: class Solution { public: void ...

心之所向,敝履以往 260

剑指Offer [Python] |13 调整数组顺序使奇数位于偶数前面

「剑指Offer [Python] 」系列第13题 —— 调整数组顺序使奇数位于偶数前面。

是圣洁呀✨ 393

13、剑指offer - 调整数组顺序使奇数位于偶数前面

考点: 代码的完整性 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题: class Solution { public: void reOrderArray(vector<int> &array) { vector&...

拒绝刘亦菲的博客 945

[剑指offer]13.调整数组顺序使奇数位于偶数前面

13. 调整数组顺序使奇数位于偶数前面 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路 使用辅助队列 遍历数组,奇数偶数分别入队列,再先后将奇偶队列中的元素初队列写入原数组。 不使用辅助队列 类比插入排序的思想。 代码实现 使用辅助队列 import j...

圈圈圆圆圈圈点点的博客 210
上一篇: 剑指Offer_数值的整数次方_12
下一篇: PAT乙级Java实现_1013 数素数 (20) _附详细解题注释_13
coder__666
博客等级 码龄9年 42粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值