leetcode922-Sort Array By Parity II

题目

给定一个非负整数数组 nums, nums 中一半整数是 奇数 ,一半整数是 偶数 。
对数组进行排序,以便当 nums[i] 为奇数时,i 也是 奇数 ;当 nums[i] 为偶数时, i 也是 偶数 。
你可以返回 任何满足上述条件的数组作为答案 。
示例 1:
输入:nums = [4,2,5,7]
输出:[4,5,2,7]
解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。

分析

我们可以用快慢指针来解决这个问题,慢指针永远指向偶数的i,快指针永远指向奇数的i,那么当发生慢指针指向的元素是奇数快指针指向的元素是偶数的时候,交换俩个元素的位置,我们遍历数组也是为了寻找这样的俩个元素

public class sortArrayByParityII {
	public static void main(String[] args) {
		int[] arr = {4,2,5,7};
		int[] brr = getSort(arr);
		for(int i = 0;i<brr.length;i++) {
			System.out.println(brr[i]);
		}
	}
	public static int[] getSort(int[] arr) {
		int first = 0;
		int second = 1;
		int len = arr.length;
		while(first < len && second < len) {
			if(arr[first] % 2 == 0) {
				first+=2;
			} else if(arr[second] % 2 ==1) {
				second+=2;
			} else {
				int tmp = arr[first];
				arr[first] = arr[second];
				arr[second] = tmp;
			}
		}
		return arr;
	}
}

相关推荐

  1. leetcode922-Sort Array By Parity II

    2024-04-24 15:52:01       33 阅读
  2. leetcode942.增减字符串匹配

    2024-04-24 15:52:01       35 阅读
  3. leetcode942-Find the Shortest Superstring

    2024-04-24 15:52:01       30 阅读
  4. 刷题记录:LeetCode 925.长按键入

    2024-04-24 15:52:01       26 阅读
  5. leetcode 92. 反转链表 II

    2024-04-24 15:52:01       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 15:52:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 15:52:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 15:52:01       82 阅读
  4. Python语言-面向对象

    2024-04-24 15:52:01       91 阅读

热门阅读

  1. 图书借阅系统开发笔记

    2024-04-24 15:52:01       32 阅读
  2. i18n在VUE3中使用插槽动态传入组件

    2024-04-24 15:52:01       35 阅读
  3. 【Mysql】Mysql8存储引擎优化与锁和事务管理优化

    2024-04-24 15:52:01       34 阅读
  4. gitea的简单介绍

    2024-04-24 15:52:01       35 阅读
  5. 什么是Git?&& 工作原理

    2024-04-24 15:52:01       33 阅读
  6. spring bean的作用域

    2024-04-24 15:52:01       37 阅读
  7. 【迅投qmt系列】2、历史数据获取

    2024-04-24 15:52:01       35 阅读