Fork me on GitHub 打赏

LeetCode_832. Flipping an Image_Solution

原题链接

原题中文链接

一、题目描述

 

二、解题思路

题目所描述的意思是对每个数组先进行取反,并且对数组中的每个元素进行取反转换,所以一共要执行两个操作。

  • 使用reverse函数解决水平翻转的操作;
  • 由于是二进制矩阵,所以使X反转后的结果为 1-X。

 

三、Solution

C++代码:

class Solution {
public:
    vector<vector<int>> flipAndInvertImage(vector<vector<int>>& A) {
        size_t len = A.size();  //获得二进制数组的长度
        for (int i = 0; i < A.size(); i++)
        {
            reverse(A[i].begin(),A[i].end());  //执行翻转(逆序)二进制矩阵的操作
            for (int j = 0; j < A[i].size(); j++)
            {
                A[i][j] = 1 - A[i][j];  //执行反转二进制矩阵的操作
            }
        }
        return A;        
    }
};

 

四、个人收获

本题主要考察对数组和二进制的基本理解,同时也让我熟悉了reverse函数的用法。

Github代码

 

五、参考资料

二进制逆序(字节反转)

 

posted @ 2018-07-22 21:20  Zoctopus_Zhang  阅读(...)  评论(... 编辑 收藏
// function btn_donateClick() { var DivPopup = document.getElementById('Div_popup'); var DivMasklayer = document.getElementById('div_masklayer'); DivMasklayer.style.display = 'block'; DivPopup.style.display = 'block'; var h = Div_popup.clientHeight; with (Div_popup.style) { marginTop = -h / 2 + 'px'; } } function MasklayerClick() { var masklayer = document.getElementById('div_masklayer'); var divImg = document.getElementById("Div_popup"); masklayer.style.display = "none"; divImg.style.display = "none"; } setTimeout( function () { document.getElementById('div_masklayer').onclick = MasklayerClick; document.getElementById('btn_donate').onclick = btn_donateClick; var a_gzw = document.getElementById("guanzhuwo"); a_gzw.href = "javascript:void(0);"; $("#guanzhuwo").attr("onclick","follow('33513f9f-ba13-e011-ac81-842b2b196315');"); }, 900);