当前位置:网站首页>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
2022-08-02 23:27:00 【月亮嚼成星~】
前言:今天开始我们将逐步去感受剑指offer的魅力,博主发布的每一题都是亲自刷过的,可能不是按照剑指offer的刷题顺序去刷,所以请大家不要介意,希望对大家都有帮助!!!
No.1 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
原题地址:
题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。
示例:
输入:nums = [1,2,3,4]
输出:[1,3,2,4]
注:[3,1,2,4] 也是正确的答案之一。
提示:
0 <= nums.length <= 50000
0 <= nums[i] <= 10000
解题思路:
考虑使用双指针,从开头和结尾向中间逼近。
1.定义一个i从左到右寻找偶数
2.定义一个j从右到左寻找奇数
3.将nums[i]和nums[j]进行互换
代码实现:
class Solution {
public int[] exchange(int[] nums) {
int i=0;
int j=nums.length-1;
while(i<j){
//找偶数
while(i<j&&nums[i]%2!=0){
i++;
}
//找奇数
while(i<j&&nums[j]%2==0){
j--;
}
//交换
int temp=nums[i];
nums[i]=nums[j];
nums[j]=temp;
}
return nums;
}
}
运行结果:
边栏推荐
- dataBinding的import导入
- threejs dynamically adjust the camera position so that the camera can see the object exactly
- matplotlib中的3D绘图警告解决:MatplotlibDeprecationWarning: Axes3D(fig) adding itself to the figure
- I have been in the software testing industry for nearly 20 years, let me talk to you about today's software testing
- 即席查询—— Kylin使用
- 如何使用vlookup+excel数组公式 完成逆向查找?
- CAS:474922-22-0,DSPE-PEG-MAL,磷脂-聚乙二醇-马来酰亚胺科研试剂供应
- 公司招个程序员,34岁以上两年一跳的不要,开出工资以为看错了
- 我们来浅谈代码语言的魅力
- 漫画:怎么证明sleep不释放锁,而wait释放锁?
猜你喜欢
js基础知识整理之 —— 判断语句和三元运算符
js基础知识整理之 —— 五种输出方式
Day117.尚医通:生成挂号订单模块
CAS:474922-22-0,DSPE-PEG-MAL,磷脂-聚乙二醇-马来酰亚胺科研试剂供应
Let's talk about the charm of code language
Rebound shell principle and implementation
RollBack Rx Professional RMC 安装教程
CIO修炼手册:成功晋升CIO的七个秘诀
服务间歇性停顿问题优化|得物技术
No-code development platform form styling steps introductory course
随机推荐
数据库审计 - 网络安全的重要组成部分
Technology Sharing | How to do assertion verification for xml format in interface automation testing?
程序员的七夕浪漫时刻
1 - vector R language self-study
Day117.尚医通:生成挂号订单模块
浅谈I2C知识
d实验新异常
基于飞腾平台的嵌入式解决方案案例集 1.0 正式发布!
DownMusic总结记录
Swift中的类型相关内容
用大白话解释“什么是ERP?” 看完这篇就全明白了
2022 Shandong International Youth Eye Health Industry Exhibition, Vision Health Exhibition, Optometry Exhibition
UE5 官方案例Lyra 全特性详解 8.如何用配置表初始化角色数据
公司招个程序员,34岁以上两年一跳的不要,开出工资以为看错了
js基础知识整理之 —— 判断语句和三元运算符
airflow db init 报错
pytest-常用运行参数
Merge two excel spreadsheet tools
Speech Synthesis Model Cheat Sheet (1)
Teach you to locate online MySQL slow query problem hand by hand, package teaching package meeting