美文网首页
6.9 trapRain & rotateImage &

6.9 trapRain & rotateImage &

作者: 陈十十 | 来源:发表于2016-08-22 15:04 被阅读3次

周四了 要去滑冰好虚= =

  • to do

    1] traptrap

2] Rotate Image

    void mirrorByMid(vector<vector<int>>& matrix) {
        int size = matrix.size();
        for (int i=0; i<size/2; ++i) {
            for (int j=0; j<size; ++j) {
                swap(matrix[i][j], matrix[size-i-1][j]);
            }
        }
    }
    void mirrorByDiag(vector<vector<int>>& matrix) {
        int size = matrix.size();
        for (int i=0; i<size; ++i) {
            for (int j=0; j<i; ++j) {
                swap(matrix[i][j], matrix[j][i]);
            }
        }
    }
    void rotate(vector<vector<int>>& matrix) {
         mirrorByMid(matrix);
         mirrorByDiag(matrix);
    }

3] Plus One

    vector<int> plusOne(vector<int>& digits) {
        if (digits.empty()) return digits;
        else digits[digits.size()-1] +=1;

        int carry = 0;
        for (int i=digits.size()-1; i>=0; --i) {
            if ( digits[i]+carry > 9 ) {
                digits[i] += carry-10;
                carry = 1;
            } else {
                digits[i] += carry;
                carry = 0;
            }
        }
        if (carry) digits.insert(digits.begin(), carry);
        return digits;
    }

Or better:

    vector<int> plusOne(vector<int>& digits) {
        int carry = 1;
        for (int i=digits.size()-1; i>=0; --i) {
            digits[i] += carry;
            carry = digits[i]/10;
            digits[i] %= 10;
        }
        if (carry) digits.insert(digits.begin(), carry);
        return digits;
    }

相关文章

网友评论

      本文标题:6.9 trapRain & rotateImage &

      本文链接:https://www.haomeiwen.com/subject/gwqgsttx.html