剑指OFFER笔记_21_调整数组顺序使奇数位于偶数前面_JAVA实现

CODESYS EtherCAT通讯断了怎么办?手把手教你用ST语言写状态监测程序(附完整代码) 本文详细解析了CODESYS平台下EtherCAT通讯中断的故障排查与恢复方法,通过ST语言编写状态监测程序实现链路监测、故障隔离和伺服恢复。文章包含完整代码示例,帮助工程师快速诊断EtherCAT网络问题,提升工业自动化设备的运行稳定性。 阅读详情

题目:调整数组顺序使奇数位于偶数前面

  • 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。

解题思路

  1. 分别指向数组的开头和结尾元素。
  2. 指向开头元素的下标向后移动直到指向一个偶数。
  3. 指向结尾元素的下标向前移动知道指向一个奇数。
  4. 将两个元素互换位置。
  5. 继续之前前面的步骤(2-4),直到两个下标相遇。

代码

函数主体部分代码

package q21;

/**
 * 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,
 * 使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
 */
public class Solution {
    public int[] exchange(int[] nums) {
        if (nums == null || nums.length == 0)
        {
            return nums;
        }

        int len = nums.length;
        int foreIndex = 0;
        int backIndex = len-1;
        //直到相遇
        while (foreIndex < backIndex)
        {
            //找到偶数
            while (foreIndex < backIndex && ((nums[foreIndex] & 1) != 0))
            {
                foreIndex++;
            }
            //找到奇数
            while (foreIndex < backIndex && ((nums[backIndex] & 1) == 0))
            {
                backIndex--;
            }
            //交换
            if (foreIndex < backIndex)
            {
                int temp = nums[foreIndex];
                nums[foreIndex] = nums[backIndex];
                nums[backIndex] = temp;
            }
        }
        return nums;
    }
}

测试部分代码

package q21;

public class TestApp {
    public static void outputArray(int[] arr)
    {
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
        System.out.println();
    }

    public static void main(String[] args) {
        int[] array = {1,2,3,4,5,6,7,8,9};
        Solution s = new Solution();
        outputArray(array);
        outputArray(s.exchange(array));
    }
}

运行结果截图

在这里插入图片描述

LeetCode运行截图

在这里插入图片描述
在这里插入图片描述

Qwen3.6-27B 本地部署踩坑实录:两块 4090 折腾一天的真实记录 《Qwen3.6-27B稠密模型部署实战》摘要:本文记录了在双4090(48GB)环境下部署Qwen3.6-27B-FP8量化模型的全过程。重点解决vLLM服务启动时transformers版本不兼容问题,推荐通过构建自定义Docker镜像升级依赖。详细讲解了关键参数配置,包括128K上下文长度保持、MTP推测解码加速等技术细节,并给出显存优化建议。实测表明该稠密模型在27B参数量级下编程能力超越上一代397B MoE模型,单卡即可流畅运行FP8版本,输出速度达90token/s,是开发者理想的编程助手。文 阅读详情

相关推荐

【Stata双重差分模型】双重差分DID的具体操作步骤

本案例将详细阐述如何使用双重差分法进行实证分析,并展示具体的STATA操作代码。

a519573917的博客 2万+

MySQL

mysql数据库

小新的博客 765

TSmaster CANFD配置避坑指南:为什么你的PCAN盒不支持最新版本?

本文针对TSmaster配置PCAN硬件进行CANFD通信时的常见问题,提供了详细的避坑指南。重点解析了CANFD配置中TSEG1等关键参数的理解误区,并深入探讨了TSmaster新版本与PCAN硬件驱动之间的兼容性变化,帮助工程师快速定位并解决连接失败或无法发送CANFD报文等问题。

alpha的博客 540

mysql 常见索引失效场景

索引失效

qq_19320823的博客 3006

避坑指南:GROMACS模拟中.tpr、.xtc、.edr、.cpt文件你用对了吗?从生成到分析全流程解析

本文详细解析GROMACS分子动力学模拟中.tpr、.xtc、.edr、.cpt等核心文件的使用技巧,从文件生成到轨迹优化、能量分析的全流程避坑指南。重点介绍拓扑文件校验、轨迹格式选择、周期性边界处理等实战经验,帮助科研人员高效管理模拟数据并准确提取关键能量信息。

weixin_30631587的博客 117

stm32 Can通讯过滤器寄存器设置(实验验证)

起因:在使用stm32单片机can通讯时,参考手册的介绍与寄存器封装有差别,不好理解怎么去设置寄存器。在参考一些代码时,对怎么去设置过滤器还是难以理解。 解决: 在寄存器封装库中,我们发现CAN过滤器设置寄存器封装有CAN1->sFilterRegister[ x ].FR1 和 CAN1->sFilterRegister[ x ].FR2 两个寄存器,其封装如下:type

u013984214的专栏 3287

刚毕业的表弟年薪40w......程序员薪资天花板?

前不久,“腾讯2022校招-应届毕业生年薪 40 万”刷屏了… 尽管互联网大厂的薪资高不算什么新鲜事儿,但这个热搜仍然让我大受震撼。 腾讯校招官网显示,2022届腾讯校招开放技术、产品、设计等岗位共计 78 个,且以IT岗为主。 另据各大招聘平台统计数据,腾讯2022届研发岗应届生基础月薪在1.7万-2.3万之间,签字费(针对优秀人才的额外奖励)3万,股票依据不同等级从6万到20万不等,就算是最低等级的“白菜包”,年薪总包也远超40万元。 职业发展 作为一个代码打工仔,对于绝大部分程序员来说,想要成为牛

xx_nm98的博客 1791

openlayers6/7 行政区划裁剪 只显示某个区域 示例为天地图

openlayers6/7 行政区划裁剪 只显示某个区域 示例为天地图。

qq_36287830的博客 3100

调整数组使奇数全部位于偶数前面

2.进行循环,left,right分别从左右开始检索,左边遇到偶数则会停下,右边遇到奇数则会停下,然后再将两边的数值进行交换,再循环此类操作,便可以将奇数和偶数分开。1.给定两个下标left和right,分别代表左边的数组起始位置和结尾的位置。可以创建一个数组,把奇数放在前面,偶数放在后面。

jb_666的博客 214

YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型

一、本文介绍 本文记录的是基于MobileNet V4的YOLOv11目标检测轻量化改进方法研究。MobileNet V4通过整合UIB、Mobile MQA以及优化的NAS策略,能够在在不降低性能指标的前提下,降低计算成本。本文配置了原论文中MNv4-Conv-S、MNv4-Conv-M、MNv4-Conv-L、MNv4-Hybrid-M和MNv4-Hybrid-L五种模型,以满足不同的需求。 模型 参数量 计算量 推理速度 YOLOv11m 20.0M 67.6GFLOPs 3.5ms

Limiiiing的博客 4455

[AI] 企业内网部署大模型的三种常见方案:从“能用”到“好用”的技术选型指南

企业内网部署大模型的三种方案解析:本地模型安全但门槛高,平台方案(如Dify)最平衡推荐,混合架构适合进阶需求。关键路径是渐进式演进,从快速验证到平台化建设,核心在于流程优化而非单纯选模型。数据安全、成本可控和工程落地能力是决策重点。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 768

我们到底该不该使用 force index()索引?

工作中遇到一个棘手的问题,一个即将被丢弃的系统 有这样的一个查询 select * from tb_O force index(idx_create_time) inner join tb_task_A inner join tb_task_B inner join tb_C on ... where tb_O.create_time 注意上面四个联合join时,现

qfzhangwei的专栏 9690

AI 模型优化与部署秘籍:从理论到实战

本文系统介绍了AI模型优化与部署的关键技术。模型剪枝通过去除冗余参数减小模型规模,量化技术降低计算精度以提升效率,蒸馏方法实现知识从大模型到小模型的迁移。TensorRT通过层融合和精度校准加速GPU推理,ONNX格式实现跨框架模型转换,TFLite则优化移动端部署。这些技术共同解决了AI模型在资源受限环境下的部署难题,显著提升了模型运行效率,为AI应用落地提供了重要支撑。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 244

剑指Offer LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面

剑指Offer LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面

TrueDei 1524

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

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

weixin_63449996的博客 1129

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

剑指offer—21.调整数组顺序使奇数位于偶数前面—分析及代码(Java)

剑指offer——21.调整数组顺序使奇数位于偶数前面——分析及代码[Java]一、题目二、分析及代码1. 辅助数组(1)思路(2)代码(3)结果三、其他 一、题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 二、分析及代码 1. 辅助数组 (1)思路 由于牛客网在线编程系...

江南土豆的博客 183

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

对数组进行遍历排序,奇数排在偶数前,切相较于原来的元素位置是不改变的

bit me的博客 587

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

本节目录刷前点说题目介绍(LINK)思路/想法1. 初始思路/最终思路2. 注意点自己写的(相对位置变)NowCoder(相对位置不变)LeetCode(相对位置该不该都行)感谢语 刷前点说 以后的话,除了代码和想说的话,就会的剪短文章的长度, 因为在写文章上浪费了太多的是时间! 其实刷题是不难的,难的是坚持! 这个分栏是《剑指 offer》 的经典题目, 并在这个博客里记录自己的理解与学习过程! 题目介绍(LINK) 注意看题目:其实题目描述有一点不一样,返回值是不一样的,但是问题不大! 那关于题目的话,

Cbiltps的博客 1361

[剑指Offer]调整数组顺序使奇数位于偶数前面(Java)

剑指Offer题目 调整数组顺序使奇数位于偶数前面 -- newcoder 13 题目描述 * 输入一个整数数组,实现一个函数来调整该数组中数字的顺序, * 使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分, * 并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路 * 1.要想保证原有次序,则只能顺次移动或相邻交换。 * 2.i从左向右遍历,找到第一个偶数。 *...

聚沙成塔 806

调整数组顺序使奇数位于偶数前面(C语言+Java)

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。 这道题出自 《剑指Offer》,这道题有两个版本也就是还有个进阶版本。 普通版本:使所有奇数在数组的前半部分,偶数在数组的后半部分 进阶版本:使使所有奇数在数组的前半部分,偶数在数组的后半部分,并且保证所有奇数和偶数的先后顺序不变。 普通版思路: 普通版本解法其实比较简单,指需要定义两个指针。一个指向数组的第一个元素,一个指向数组的最后的一个元素。 第一个指针从前往后找偶数,第二

爱敲代码的三毛的博客 2021

#力扣 LeetCode剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 #在所有 Java 提交中击败了 99.36% 的用户 @FDDLC

题目描述: 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 - 力扣(LeetCode) (leetcode-cn.com) Java代码一: class Solution { public int[] exchange(int[] nums) { int[] answer=new int[nums.length]; int odd_left=0,even_right=nums.length-1; for (int num : .

LiuXingchang的博客 421

Java详解剑指offer面试题21--调整数组的顺序使奇数位于偶数前面

Java详解剑指offer面试题21–调整数组的顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 如果可以使用额外的空间,这道题不难。O(n)的空间和O(n)的时间复杂度。思路很简单: 第一次遍历,将奇数存入辅助数组中; 第二次遍历,将偶数存入数组中; 辅助数组的元素覆盖原数组。 package Chap3; import java.util.Arr

快乐李同学的博客 492

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

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。

weixin_45453028的博客 275

LeetCode–调整数组顺序使奇数位于偶数前面

LeetCode–调整数组顺序使奇数位于偶数前面 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 介绍 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 示例: 输入:nums = [1,2,3,4] 输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。提示: 1 <= n

归子莫的博客 480

JAVA实现调整数组顺序使奇数位于偶数前面问题(《剑指 offer》)

题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 public class Solution { public void reOrderArray(int [] array) { int temp0; for (i

遥同学的博客 1855

【剑指Offer题解:java】调整数组使奇数位于偶数前面

文章目录题目题解一题解二 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题解一 使用辅助数组 第一次遍历:遇到奇数直接放入新数组 第二次遍历:遇到偶数放入新数组 进行数组copy /** * 方法一: * 使用辅助数组 * 第一次遍历:遇到奇数直接放入新数组 * 第二次遍历:遇到偶数放入新数组 * 进行数组copy

小游子YKY的博客 1754
上一篇: 剑指OFFER笔记_20_表示数值的字符串_JAVA实现
下一篇: 剑指OFFER笔记_22_链表中倒数第k个节点_JAVA实现
YesPlease
博客等级 码龄8年 4粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值