(简单)剑指Offer 21. 调整数组顺序使奇数位于偶数前面 Java

news/2024/11/20 1:38:03/

在这里插入图片描述

记数组nums的长度为n。从先nums左侧开始遍历,如果遇到的是奇数,就表示这个元素已经调整完成,继续从左往右遍历,直到遇到一个偶数。然后从nums右侧开始遍历,如果遇到的是偶数,就表示这个元素已经调整完成了,继续从右往左遍历,直到遇到一个奇数,将换这个偶数和奇数的位置,并且重复两边的遍历,直到在中间相遇,nums调整完成。

class Solution {public int[] exchange(int[] nums) {int left = 0;int right = nums.length - 1;while (left < right) {while (left < right && (nums[left] & 1) != 0) {left++;}while (left < right && (nums[right] & 1) == 0) {right--;}if (left < right) {int tmp = nums[left];nums[left] = nums[right];nums[right] = tmp;}}return nums;}
}

复杂度分析:

  • 时间复杂度:O(n),原数组中每个元素只遍历一次。
  • 空间复杂度:O(n),原地调整,只消耗常数空间。

在这里插入图片描述


http://www.ppmy.cn/news/894664.html

相关文章

威盛在线更换IO通道---步骤

在线更换IO通道---步骤 1.运行“IO配置”软件&#xff08;开始→程序→ControlX 软件包→FB3000MCS 控制策略→IO配置&#xff09;&#xff1b; 2.打开该工程目录下的IO组态配置文件&#xff08;*.ioc){如C:\XXX工程\IO配置}&#xff1b; 3.选中需要更换IO通道的过程控制站名…

在威盛学习计划

写道 每天都要学习,现有知识储备太少.每天必须工作9个小时 1. 英语学习 1个小时[个人必备技能] 2. js CSS 学习 1个小时[web开发技能] 3. PHP MYSQL 项目实现 5个小时以上 [web应用开发] 4. javame 学习 1个小时 [移动应用开发] 5. C# 学习 1个小时 [桌面应用开发,非web方面…

2017.11-上海威盛电子有限公司面试

日期&#xff1a;2017.11.27号 地点&#xff1a;上海浦东新区张江高科技园区金科路2537号B栋 中国芯科技园 岗位&#xff1a;嵌入式开发 笔试&#xff1a; 时间&#xff1a;9:00 题目记得的如下&#xff1a; 1、考察C语言的知识&#xff0c;指针&#xff0c;数组&#xf…

威盛面试

那两天貌似有点累&#xff0c;很不想去&#xff0c;但最终说服自己&#xff0c;去一下&#xff0c;长点见识。 1面 先让写一个将小端转为大端的宏 表示windows有API&#xff0c;于是说写个函数也行 想了一阵&#xff0c;改了一阵&#xff0c;用循环加移位实现 问volatile关…

威盛人工智能研究院,聚焦人工智能人才培养新时代

5月20日-23日&#xff0c;2019智能联盟第九届机器人创客教育高峰论坛在湖南长沙盛大举行。论坛以行业高峰论坛、商学院高管研修班、师资培训专场、机器人教育大型展会及人工智能与无人车专场等形式&#xff0c;用全新视角审视机器人创客教育&#xff0c;回归教育本源&#xff0…

试题威胜中国芯计算机比赛,第26届中国儿童青少年威盛中国芯HTC计算机表演赛成果汇报及颁奖...

第26届计算机表演赛全体选手大合影 人民网北京8月8日电(记者孟哲)昨日&#xff0c;第26届中国儿童青少年威盛中国芯HTC计算机表演赛(以下简称“表演赛”)成果汇报及颁奖在北京落下帷幕。表演赛始终以信息技术普及教育为宗旨&#xff0c;顺应信息化社会的发展潮流&#xff0c;为…

下周一去威盛电子上班

周一去威盛电子上班,做PHP程序员...... 希望新工作事事顺利,万事如意!!! 希望自己技术和协同开发的能力大大提高,希望有自己业余的时间来做好xser php framework的开发... 还想充分学习下 java nio 技术,实现一个迷你版本的 servlet WEB服务器 和邮件服务器 ,学习.....

VIA 威盛VL162新款switch数据切换芯片。方案设计

威锋VL162是由老款VL160更改过来的&#xff0c;不过虽然是更改了新版本&#xff0c;但原来的VL160与VL162仍然可以PIN对PIN 使用的&#xff0c;电路不需要修改&#xff0c;只要修改元器件的参数就行 第十脚的电阻由原来的20.5K换为124K其余都不用改变&#xff0c;原先使用VL160…