試解leetcode算法題--翻轉圖像

<題目描述>
給定一個二進制矩陣 A,我們想先水平翻轉圖像,然後反轉圖像並返回結果。
水平翻轉圖片就是將圖片的每一行都進行翻轉,即逆序。
反轉圖片的意思是圖片中的 0 全部被 1 替換, 1 全部被 0 替換。
<原題鏈接>
https://leetcode-cn.com/problems/flipping-an-image/
<理明思路>

<樣例代碼>

//C++
class Solution {
public:
	vector<vector<int>> flipAndInvertImage(vector<vector<int>>& A) 
	{
		vector<vector<int>>::iterator vi;
		vector<int>::iterator vj;

		for (vi = A.begin(); vi != A.end(); vi++)
		{
			reverse(vi->begin(), vi->end());
			for (vj = vi->begin(); vj != vi->end(); vj++)
				*vj = !*vj;
		}
		return A;
	}
};

或者

#!/usr/bin/python3

class Solution:
    def flipAndInvertImage(self, A):
        for i in A:
            i.reverse()
        for i in range(len(A)):
            for j in range(len(A)):
                A[i][j] = int(not A[i][j])
        return A
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章