【Leetcode_easy】1089. Duplicate Zeros

problem

1089. Duplicate Zeros

题意:

solution: 其中关于虚拟新数组的下标的计算还是有点迷糊。。。

class Solution {
public:
    void duplicateZeros(vector<int>& arr) {
        int n = arr.size();
        int m = n + count(arr.begin(), arr.end(), 0);
        for(int i=n-1; i>=0; i--)
        {
            if((--m) <n) //err....
            {
                arr[m] = arr[i];
            }
            
            if(arr[i]==0 && (--m) <n) //errr...
            {
                arr[m] = 0;
            } 
        }
    }
};

参考

1. Leetcode_easy_1089. Duplicate Zeros;

2. discuss;

原文地址:https://www.cnblogs.com/happyamyhope/p/11163624.html