0
点赞
收藏
分享

微信扫一扫

Android Osmdroid + 天地图 (二)

肉肉七七 2024-11-18 阅读 16


 

  • 行变成回文

    • 对于每一行,遍历前半部分的元素,与后半部分的元素比较。
    • 如果不相等,计数器加 1,表示需要翻转一次。
  • 列变成回文

    • 将矩阵转置,使用与行类似的方式对每一列进行统计。
    • 可以使用 Python 的 zip(*grid) 来简化列的统计。
  • 取最小值

    • 分别计算所有行和所有列变成回文的翻转次数。
    • 返回两者的最小值。
class Solution:
    def minFlips(self, grid: List[List[int]]) -> int:
        diff_row=0
        for row in grid:
            for j in range(len(row)//2):
                if row[j]!=row[-1-j]:
                    diff_row+=1
            
        diff_col=0
        for col in zip(*grid):
            for j in range(len(col)//2):
                if col[j]!=col[-1-j]:
                    diff_col+=1
        

        return min(diff_col,diff_row)
        
举报

相关推荐

0 条评论