LeetCode:1470. 重新排列數組

方法一

我們通過觀察可以看到在答案數組中 ,如果下標是偶數i,就是nums中i/2的元素,如果下標是奇數i,逐個遞增n之後的n個元素

class Solution {
public:
    vector<int> shuffle(vector<int>& nums, int n) {
        vector<int> re;
        int e = n;
        for(int i = 0;i < n*2;i++)
        {
            if(i%2)
            {
                re.push_back(nums[e]);
                e = e+1;
            }
            else
                re.push_back(nums[i/2]);
        }
        return re;
    }
};

方法二

逐個push_back;

class Solution {
public:
    vector<int> shuffle(vector<int>& nums, int n) {
        vector<int> re;
        for(int i = 0;i < n;i++)
        {
            re.push_back(nums[i]);
            re.push_back(nums[i+n]);
        }
        return re;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章