안전 제공을 증명 - (21)에게 인터뷰 질문의 조정되도록 배열의 홀수 순서의 앞에도 (이중 포인터, 현재 위치에서 알고리즘)

1. 주제

어레이의 전방 절반의 홀수 부분 모두 모든 짝수 어레이의 후반부에 위치되도록, 배열 번호의 순서를 조절하는 기능을 실현하기 위해, 정수의 배열을 입력.

示例:
输入:nums = [1,2,3,4]
输出:[1,3,2,4] 
注:[3,1,2,4] 也是正确的答案之一。
 
提示:
1 <= nums.length <= 50000
1 <= nums[i] <= 10000

출처 : 숙박 버튼 (LeetCode)
링크 : HTTPS : //leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian -lcof
모든 저작권 칼라 버튼 네트워크. 상업 무단 전재 소스를 표시하시기 바랍니다 승인 된 공식, 비상업적 재판에 문의하시기 바랍니다.

2. 방법 이중 포인터 현장

class Solution {
public:
    vector<int> exchange(vector<int>& nums) {
    	//odd奇数,even偶数
        int odd = nums.size()-1, even = 0;
        while(even < odd)
        {
        	while(even < odd && nums[even]%2 != 0)
        		even++;//从前往后找到偶数
        	while(even < odd && nums[odd]%2 == 0)
        		odd--;//从后往前找到奇数
        	swap(nums[even], nums[odd]);
        }
        return nums;
    }
};

그림 삽입 설명 여기

게시 된 630 개 원래 기사 · 원 찬양 492 ·은 14 만 + 조회수

추천

출처blog.csdn.net/qq_21201267/article/details/104304117