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];
}
}
}
相关推荐
即梦AI使用教程
摘要: 即梦AI是字节跳动推出的多模态AI创作平台,整合图片、视频、智能编辑功能,基于OmniHuman模型支持中英日三语操作。核心特点包括: 技术升级:4.0版本强化中文语义理解与微观表现力,新增故事分镜生成; 创作功能:支持文本/图片转视频、AI对口型、商业级抠图与多图层融合; 用户友好:移动/网页双端适配,灵感社区复用提示词,剪映生态无缝衔接; 应用场景:覆盖电商换装、虚拟主播、设计融合等需求,未来将开放API拓展生态。 (字数:149)
告别截图!用mutool draw命令把PDF批量转成高清PNG图片(附Python脚本)
本文详细介绍了如何利用mutool命令行工具和Python脚本实现PDF到PNG的高效批量转换,告别低效的手动截图方式。通过解析mutool draw命令的关键参数和分辨率设置技巧,结合完整的Python自动化脚本,帮助用户轻松处理各类PDF文档转换需求,提升工作效率和输出质量。
AUTOSAR网络管理配置详解:Vector DaVinci工具全面讲解
手把手带你用Vector DaVinci完成AUTOSAR网络管理模块的配置,涵盖NmChannel、NmPdu、重复帧抑制等关键参数设置,深入解析CAN总线上的NM报文调度与唤醒机制,助你扎实掌握AUTOSAR网络管理核心实践。
调整数组顺序使奇数位于偶数前面,且奇数之间、偶数之间的相对位置不变
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题目地址:https://www.nowcoder.com/practice/beb5aa231adc45b2a5dcc5b62c93f593?tpId=13&tqId=11166&tPage=1&rp=...
可信数据空间关键技术和功能架构研究
可信数据空间(TDS)是实现数据安全共享的基础设施,通过数字合约和使用控制技术确保数据跨域流通的可信与安全。其架构包括服务平台和接入连接器,关键技术涵盖访问控制、隐私计算、区块链等。评估重点在于合规性、连接器能力、互联互通及安全体系。核心在于构建规则引擎而非简单数据汇聚,连接器开发比平台建设更重要。当前面临技术成本博弈、跨域身份互认等挑战,需平衡安全、性能与成本,推动数据要素市场发展。
Speedtree学习笔记(案例)——拥有多种材质的植物如何导入使用(以草为例)
注:Speedtree无论保存还是导入模型其存储路径不可有中文。 第一步拆分草的模型 根据所需的材质去拆分(例:假若草的果实,茎秆和叶子是不同的材质那么就需拆分为三份;假若画的全部颜色及材质一样就没有必要去拆分模型) 第二步导入草的模型 在Mesh面板中依次导入草的模型——Do nothing additional right now 第三步扩大草的生长区域范围(可省略)...
剑指offer面试题14(Java版):调整数组顺序使奇数位于偶数的前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 1、基本实现: 如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有的数字往前面挪动一位。挪完之后在数组的末尾有一个空位,这时把该偶数放入这个空位。由于没碰到一个偶数就需要移动O(n)个数字,因此总的时间复
手把手教你用STM32单片机控制双向可控硅调光(附完整代码+电路图)
本文提供了一套完整的STM32单片机控制双向可控硅实现灯光无级调光的实战方案。详细讲解了硬件电路设计,包括过零检测与隔离驱动,并剖析了基于定时器中断的软件核心逻辑,通过精准的相位角计算实现平滑的灯光强度控制。附有完整代码与电路图,适合嵌入式开发者实践。
剑指offer14,调整数组顺序使奇数位于偶数前面(Java实现)
如果有不对的地方请发邮件到995232184@qq.com。若是不太明白思路或者过程也可发邮件给我,谢谢支持。 剑指offer只是要求,奇数在前半部分,偶数在后半部分,我写完去牛客调试的时候发现,要求保证奇数和奇数,偶数和偶数之间的相对位置不变。所以我又加了一段代码。 import java.util.Arrays; /** * 题目:调整数组顺序使奇数位于偶数前面 * 描述:输...
rk3568 修改开机动画
bootanimation.zip是一个Android设备启动时播放的动画文件,它包含了一系列的图片和描述文件,用于描述动画的播放顺序和持续时间。
如何通过单步调试的方法,找到 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 请求投递给。
剑指Offer #13 调整数组顺序使奇数位于偶数前面 | 图文详解
牛客网剑指Offer专题题目图文详解,简单的一道题包含了你想不到的骚操作,十年磨剑只为今朝!
飞腾UEFI配置GPIO—飞腾FT2000/4 (D2000/8) GPIO引脚配置及使用
讲解了在飞腾UEFI代码中如何添加GPIO配置相关代码,并以GPIO1_B0—B7为例,将这8个引脚配置为GPIO工作模式并默认输出低电平
《剑指Offer》13. 调整数组顺序使奇数位于偶数前面
题目:13. 调整数组顺序使奇数位于偶数前面 知识点:数组 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路: 解法一:这是我自己写出的解法,是针对于这道题目来说,因为我也想到了解法二的这种双指针的解法,但是很快就被排除掉了,因为这道题的要求中有一...
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
剑指Offer13:调整数组顺序使奇数位于偶数前面
剑指Offe13:调整数组顺序使奇数位于偶数前面 1.题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 2.思路 创建双向队列,遍历数组,奇数前插入,偶数后插入。最后使用assign方法实现不同容器但相容的类型赋值。 知识点一:c++借助双向队列能从前、后分别插入数据的优势...
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 ...
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
js剑指offer-13-调整数组顺序使奇数位于偶数前面
剑指offer13-调整数组顺序使奇数位于偶数前面 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 const reOrderArray = array => { const jishu = []; const oushu = []; ...
剑指Offer(13)--调整数组顺序使奇数位于偶数前面
文章目录题目描述思路与解答 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路与解答 用空间换时间做法,就是新建一个数组,copy一份,先计算出奇数的个数,也就是能够知道第一个偶数应该放在数组的哪一个位置,然后再遍历一次,依次放到对应的位置即可。 public class Solution { public void reOrderArray(int[] nums)
【剑指offer13】调整数组顺序使奇数位于偶数前面
【题目描述】 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变 【解决方法】 方法一:辅助数组 采用辅助数组的方式,将奇偶数分别保存到辅助数组 (1)先统计奇数个数; (2)遍历原数组,如果是奇数,放在辅助数组开头;如果是偶数,从辅助数组奇数个数位置开始存放 (3)将辅助数组copy到原数组上 p
《剑指 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] 赋
剑指offer第13题:调整数组顺序使奇数位于偶数前面
剑指offer第13题:调整数组顺序使奇数位于偶数前面题目描述调整数组顺序使奇数位于偶数前面分析思路一:从左到右遍历数组,引入两个数组分别按顺序保存奇数和偶数,再讲两个数组按照奇前偶后合并。源码 题目描述 调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置...
剑指offer(13)调整数组顺序使奇数位于偶数前面
package java_jianzhioffer_algorithm; import java.util.ArrayList; /** * 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序, * 使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分, * 并保证奇数和奇数,偶数和偶数之间的相对位置不变。 * @author hexiaoli *思路:1)笨方...
【剑指offer】13-调整数组顺序使奇数位于偶数前面
1-Description 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变 2-Solution 首先可以考虑新开辟一个数组,并进行两次遍历原数组,这样可以方便的把奇数排在前面,偶数排在后面,具体代码如下: class Solution { public: void ...
剑指Offer [Python] |13 调整数组顺序使奇数位于偶数前面
「剑指Offer [Python] 」系列第13题 —— 调整数组顺序使奇数位于偶数前面。
13、剑指offer - 调整数组顺序使奇数位于偶数前面
考点: 代码的完整性 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题: class Solution { public: void reOrderArray(vector<int> &array) { vector&...
[剑指offer]13.调整数组顺序使奇数位于偶数前面
13. 调整数组顺序使奇数位于偶数前面 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路 使用辅助队列 遍历数组,奇数偶数分别入队列,再先后将奇偶队列中的元素初队列写入原数组。 不使用辅助队列 类比插入排序的思想。 代码实现 使用辅助队列 import j...
6306



被折叠的 条评论
为什么被折叠?



