✨
LeetCode 2020-11-10: Flipping an Image
LeetCode daily challenge の問題 Flipping an Image (easy) の挑戦メモです。
問題の概要
- 与えられた int の二次元配列を「二値の画像」とみなし、その画像を 左右反転し、白黒を反転させた 画像を返す
考え方
- これまた簡単な問題なので、ナイーブなやり方でも余裕で解けることでしょう
- 今回は無意味にビット演算を使ってコードを書いてみました
- Runtime 0ms 100% beats 達成 👍
コード
class Solution {
public int[][] flipAndInvertImage(int[][] A) {
int[][] result = new int[A.length][A.length];
for (int i = 0; i < A.length; i++) {
int r = 0;
for (int v : A[i]) {
r = (r << 1) | v;
}
r = ~r;
for (int j = 0; j < A.length; j++) {
result[i][j] = r & 1;
r >>>= 1;
}
}
return result;
}
}
Discussion