6.9 trapRain & rotateImage & plusOne

周四了 要去滑冰好虚= =

  • 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;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容