本文主要是介绍调整数组元素顺序,奇数在前,偶数在后,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。
package com.main;import java.util.Arrays;public class Main {private void adjustPosition(int[] nums) {int n = nums.length;if (n < 2) {return;}int i = n - 1;int j = 0;int temp = 0;while (i > j) {if ((nums[i] & 1) == 0) {//是偶数,继续往左i--;continue;}if ((nums[j] & 1) == 1) {//是奇数,继续往右j++;continue;}temp = nums[i];//交换nums[i] = nums[j];nums[j] = temp;i--;//下一个元素j++;}}public static void main(String[] args) {int[] nums = new int[]{1, 2, 3, 4, 5, 6};new Main().adjustPosition(nums);System.out.println(Arrays.toString(nums));}
}//[1, 5, 3, 4, 2, 6]
这篇关于调整数组元素顺序,奇数在前,偶数在后的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!