《LeetCode 力扣》 - 1072. 按列翻转得到最大值等行数 (哈希计数)

《LeetCode 力扣》 - 1072. 按列翻转得到最大值等行数 (哈希计数)

方法1 哈希计数

  • 步骤
    • 1、遍历每一行,将首位为1的进行翻转
    • 2、记录翻转后的行,进行哈希计数
    • 3、返回哈希中最大的次数;
  • 复杂度
    • 时间复杂度 O(m*n)
    • 空间复杂度 O(m) (m行)
class Solution {

    /**
     * @param Integer[][] $matrix
     * @return Integer
     */
    function maxEqualRowsAfterFlips($matrix) {
        foreach($matrix as $row) {
            $tmp = [];
            foreach($row as $item) {
                if($row[0] == 1) {
                    $tmp[] = $item ^ 1;
                } else {
                    $tmp[] = $item;
                }
            }
            $key = implode('', $tmp);
            $map[$key] = isset($map[$key]) ? ++$map[$key] : 1;
        }
        return max($map);
    }
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
明天我们吃什么 悲哀藏在现实中 Tacks
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!