java 取数组的前90位,LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面
LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面
题目
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
示例:
输入:nums = [1,2,3,4]
输出:[1,3,2,4]
注:[3,1,2,4] 也是正确的答案之一。
提示:
1 <= nums.length <= 50000
1 <= nums[i] <= 10000
解题思路
思路1-前后双指针夹逼遍历
步骤:
前后双指针,前指针遇到偶数停止,后指针遇到奇数停止;
互换值并推进一步继续校验直至相遇;
算法复杂度:
时间复杂度: $ {color{Magenta}{Omicronleft(nright)}} $
空间复杂度: $ {color{Magenta}{Omicronleft(1right)}} $
算法源码示例
package leetcode;
/**
* @author ZhouJie
* @date 2020年5月2日 下午10:34:47
* @Description: 面试题21. 调整数组顺序使奇数位于偶数前面
*
*/
public class LeetCode_Offer_21 {
}
class Solution_Offer_21 {
/**
* @author: ZhouJie
* @date: 2020年5月2日 下午10:38:07
* @param: @param nums
* @param: @return
* @return: int[]
* @Description: 1-左右指针夹逼校验互换;
*
*/
public int[] exchange(int[] nums) {
int left = 0, right = nums.length - 1;
while (left < right) {
while (left < right && nums[left] % 2 != 0) {
left++;
}
while (left < right && nums[right] % 2 == 0) {
right--;
}
if (left < right) {
nums[left] = nums[left] ^ nums[right];
nums[right] = nums[left] ^ nums[right];
nums[left] = nums[left] ^ nums[right];
left++;
right--;
}
}
return nums;
}
}
java 取数组的前90位,LeetCode 面试题21. 调整数组顺序使奇数位于偶数前面相关推荐
- 《LeetCode力扣练习》剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java
<LeetCode力扣练习>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java 一.资源 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组 ...
- 【剑指offer - C++/Java】13、调整数组顺序使奇数位于偶数前面
在线题目链接:调整数组顺序使奇数位于偶数前面 文章目录 1 题目描述 2 题目分析 2.1 方法1 2.11 Java代码 2.12 C++代码 2.2 方法2 2.21 Java代码 2.22 C+ ...
- 【LeetCode】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
[LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 文章目录 [LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 一.双指针 一.双指针 解题思路: ...
- 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数
一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...
- 面试 6:调整数组顺序使奇数位于偶数前面
今天给大家带来的是 <剑指 Offer>习题:调整数组顺序使奇数位于偶数前面,纯 Java 实现希望大家多加思考. 面试题:输入一个整型数组,实现一个函数来调整该数组中的数字的顺序,使得所 ...
- 调整数组顺序使奇数位于偶数前面
调整数组顺序使奇数位于偶数前面(点击链接进入题目) 描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数 ...
- 剑指offer:面试题21. 调整数组顺序使奇数位于偶数前面
题目:调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4 ...
- 【剑指offer-Java版】14调整数组顺序使奇数位于偶数前面
调整数组顺序使奇数位于偶数前面:遍历交换 特殊输入: 1) 只有一个数字 2) 全奇数或者全偶数 3) 空指针 4) 正常输入 考虑到扩展性,C++里面使用了函数指针来实现,但是对于java,可以采用 ...
- 【编程题目】调整数组顺序使奇数位于偶数前面
54.调整数组顺序使奇数位于偶数前面(数组). 题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分, 所有偶数位于数组的后半部分.要求时间复杂度为 O(n). 小题,秒灭. ...
最新文章
- java面向对象电子科大版答案_电子科大17秋《面向对象程序设计》在线作业1
- lc412. Fizz Buzz
- JSTS学习(一) - 简介
- 22. loacte命令
- boost::local_time模块实现自纪元以来的秒数的测试程序
- python 爬虫库 beautifulsoup4_Python爬虫之BeautifulSoup4
- java编写安卓程序代码,安卓:从Android的Java源代码code创建UML
- [html] HTML全局属性(global attribute)有哪些(包含H5)?
- 可信知识实证在UGC时代情报应用中的思考与探索
- VB版双语对照制作助手
- 用栈实现算术表达式 java_java的栈和用栈来解析算术表达式
- Filebeat 将多个日志输出到不同的 Kafka Topic
- linux 在字符界面中如何查看超出屏幕显示范围的内容
- PWM驱动sg90电机
- bootstrap-table导出excel科学计数法bug,数字过长变成科学计数法
- html怎么做成gif,(图解)如何制作gif动态图片
- glassfish 配置 mysql_GlassFish MySql连接池配置 | 学步园
- 6-1 读文章(*)
- 最近很火的ChatGPT和GPT4
- 元宇宙技术在几年后质变,迎来体验终端世界
热门文章
- tensorflow教程 一元线性回归
- 解决端口 windows10 端口被占用的问题
- windows10 中 安装 ffmpeg
- 【MySQL命令】远程连接、数据库备份
- 多尺度目标检测--Scale-Aware Trident Networks for Object Detection
- 目标检测--Wide-Residual-Inception Networks for Real-time Object Detection
- 大数据引擎启动时常见错误汇总
- ios 位置服务器,iOS 14 隐私保护:管理和控制共享的位置信息
- es6 日期字符串转日期_量化数据预处理-中文日期(含)转英文日期
- python 语音websocket_Python 牺牲性能以提升程序员的工作效率