13.调整数组顺序使奇数位于偶数前面 Java
2024-09-05 08:55:05
思路
两次遍历,第一次把奇数加到list中,第二次把偶数加到list中,时间复杂度为O(n)。
利用类似于插入排序的方法,但时间复杂度为O(n^2)。
代码
import java.util.ArrayList;
import java.util.List;
public class Solution {
public void reOrderArray(int[] array) {
List l=new ArrayList();
for(int i=0;i<=array.length-1;i++){
if(array[i]%2!=0){
l.add(array[i]);
}
} for(int i=0;i<=array.length-1;i++){
if(array[i]%2==0){
l.add(array[i]); }
}
for(int i=0;i<=l.size()-1;i++){
array[i]=(int)l.get(i);
}
}
}
如果不能开僻额外的空间,可以尝试有类似于冒泡排序的方法,如果当前的值为偶数,后一个值为奇数,则两个数对换位置:
public class Solution {
public void reOrderArray(int [] array) {
for(int i=0; i < array.length; i++){
for(int j=0; j<array.length-1; j++){
if(array[j] % 2 == 0 && array[j+1] % 2 != 0){
int temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}
}
}
}
}
最新文章
- Mysql5.5升级到5.7后MySQLdb不能正常使用的问题解决
- [转]moveTaskToback退后台
- 怎么将java项目打包成双击就可以运行的jar包---fatjar
- JAVA中toString方法
- MSSQL 日期操作函数 总结
- (六)Jquery Mobile主题及插件的使用
- (转)centos6.5安装VNC
- Spring中多个工程停多个资源文件ignoreUnresolvablePlaceholders配置
- Netty4 学习笔记之三:粘包和拆包
- 非旋 treap 结构体数组版(无指针)详解,有图有真相
- 访问iis出现500.21错误
- 设备树..ing
- php中常用的正则表达式函数
- Android app内存限制OOM
- 【刷题】BZOJ 5312 冒险
- 【转】Android Studio开发应用桌面出现两个或多个图标
- Linux下面安装swoole
- Java学习笔记(4)----Public,Protected,Package,Private修饰符可见性
- 使用lets encrypt证书加密
- font-face自定义字体使用方法