2033. Minimum Operations to Make a Uni Value Grid (Medium) - TengnanYao/daily_leetcode GitHub Wiki

class Solution:
    def minOperations(self, grid: List[List[int]], x: int) -> int:
        nums = [x for row in grid for x in row]
        
        # Never use sum to concat array!
        # nums = sum(grid, [])
        
        n = len(nums)
        if x != 1:
            for i in range(1, n):
                if (nums[i] - nums[0]) % x != 0:
                    return -1
        nums.sort()
        target = nums[n // 2]
        result = 0
        for num in nums:
            result += abs(target - num) // x
        return result