当前位置: 首页> 教育> 高考 > 网站运营内容_长春公司网站推广_嘉峪关seo_今日头条搜索引擎

网站运营内容_长春公司网站推广_嘉峪关seo_今日头条搜索引擎

时间:2025/7/16 5:29:32来源:https://blog.csdn.net/zhourongxiang1/article/details/144326339 浏览次数:0次
网站运营内容_长春公司网站推广_嘉峪关seo_今日头条搜索引擎

题目

输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)

解法

双指针i和j
指针i起点是数组起点,当i检测到偶数时停下。j的起点时数组终点,当j检测到奇数时停下,交换i和j处的元素。
在这里插入图片描述
如图,2和9交换。

package com.company;import com.company.util.ArrayUtil;import java.util.Arrays;public class Test20 {public static void main(String[] args) {
//        int[] arr={1,	2,	3	,4	,5,6,7,8,9,10};int[] arr = ArrayUtil.randomArray(0, 11, 10);int j=arr.length-1;for (int i=0;i<j;i++){if(arr[i]%2==0){while(j>i){if(arr[j]%2==1){ArrayUtil.swap(arr,i,j);break;}j--;}}}System.out.println(Arrays.toString(arr));}
}
关键字:网站运营内容_长春公司网站推广_嘉峪关seo_今日头条搜索引擎

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: