您的位置:首页 > 科技 > 能源 > 营销网站建立_公司网站怎么建站_近期新闻事件_2023年8月新冠疫情

营销网站建立_公司网站怎么建站_近期新闻事件_2023年8月新冠疫情

2025/1/16 1:59:11 来源:https://blog.csdn.net/zhourongxiang1/article/details/144326339  浏览:    关键词:营销网站建立_公司网站怎么建站_近期新闻事件_2023年8月新冠疫情
营销网站建立_公司网站怎么建站_近期新闻事件_2023年8月新冠疫情

题目

输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为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));}
}

版权声明:

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

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