ได้รับเมทริกซ์ไบนารี A แทนภาพ ต้องทำ 2 ขั้นตอน: (1) กลับภาพแนวนอน (reverse แต่ละแถว) (2) กลับค่าบิต (0→1, 1→0) คืนภาพที่ได้
ตัวอย่าง
อินพุต:
| 1 | 1 | 0 |
| 1 | 0 | 1 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 1 | 1 |
ขั้นตอนการแก้ปัญหา
- สร้างรายการผลลัพธ์ว่าง
- วนแต่ละแถว:
- กลับลำดับแถว (
row[::-1]) - วนแต่ละค่า: 1→0, 0→1
- เพิ่มแถวที่ประมวลผลแล้วเข้าผลลัพธ์
- กลับลำดับแถว (
- คืนผลลัพธ์
การติดตั้งใน Python
class Solution:
def flipAndInvertImage(self, A):
result = []
for row in A:
rev = row[::-1]
for j in range(len(rev)):
rev[j] = 1 - rev[j] # invert: 0↔1
result.append(rev)
return result
ob = Solution()
print(ob.flipAndInvertImage([[1,1,0],[1,0,1],[0,0,0]]))
# [[1, 0, 0], [0, 1, 0], [1, 1, 1]]
อินพุต / เอาต์พุต
Input: [[1,1,0],[1,0,1],[0,0,0]] Output: [[1, 0, 0], [0, 1, 0], [1, 1, 1]]