当前位置:网站首页>剑指 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;
}
}
运行结果:
边栏推荐
- Cholesterol-PEG-Amine,CLS-PEG-NH2,胆固醇-聚乙二醇-氨基脂两亲性脂质衍生物
- Based on two levels of decomposition and the length of the memory network multi-step combined forecasting model of short-term wind speed
- DataGuard日常维护常见问题之数据同步异常
- 优秀论文以及思路分析01
- 十年架构五年生活-05第一次出差
- Merge two excel spreadsheet tools
- 21天学习挑战赛(1)设备树的由来
- 用大白话解释“什么是ERP?” 看完这篇就全明白了
- No-code development platform form styling steps introductory course
- 典型相关分析CCA计算过程
猜你喜欢
随机推荐
基于奇异谱分析法和长短时记忆网络组合模型的滑坡位移预测
flutter 每个要注意的点
九零后程序员心声:互联网的同行们,别卷了,再卷人都卷没了
【UE5 骨骼动画】全形体IK导致Two Bone IK只能斜着移动,不能平移
有奖提问|《新程序员》专访“Apache之父”Brian Behlendorf
淘宝商品销量接口/淘宝商品销量监控接口/商品累计销量接口代码对接分享
No-code development platform form styling steps introductory course
用了 TCP 协议,数据一定不会丢吗?
智能电视竞争白热化,利用小程序共建生态突围
Let's talk about the charm of code language
IDEA多线程调试
threejs dynamically adjust the camera position so that the camera can see the object exactly
分库分表索引设计:二级索引、全局索引的最佳设计实践
如何突破测试/开发程序员思维?一种不一样的感觉......
优秀论文以及思路分析01
如何使用vlookup+excel数组公式 完成逆向查找?
IDEA 重复代码的黄色波浪线取消设置
Jmeter二次开发实现rsa加密
主流定时任务解决方案全横评
合并两个excel表格工具