Leetcode每日一题 —— 2033. 获取单值网格的最小操作数
- 内容介绍
- 文章标签
- 相关推荐
问题描述:
力扣 LeetCode
2033. 获取单值网格的最小操作数 - 力扣(LeetCode)
2033. 获取单值网格的最小操作数 - 给你一个大小为m x n 的二维整数网格 grid 和一个整数 x 。每一次操作,你可以对 grid 中的任一元素 加 x 或 减 x 。 单值网格 是全部元素都相等的网格。 返回使网格化为单值网格所需的 最小 操作数。如果不能,返回 -1 。 示例 1: [https://assets.leetcode.com/uploads/2021/09/21/gridtxt.png] 输入:grid = [[2,4],[6,8]], x =...
思路
- 位置顺序无关,所以可以转换为一维数组排序解答。
排序后结果可用这个表达式表示:
(m-x[1])+(m-x[2])+……+(x[s-2]-m)+(x[s-1]-m) - 选择中位数可以使以上表达式的值最小,而且选择数组中没有的数并不会让结果更优。
问题描述:
力扣 LeetCode
2033. 获取单值网格的最小操作数 - 力扣(LeetCode)
2033. 获取单值网格的最小操作数 - 给你一个大小为m x n 的二维整数网格 grid 和一个整数 x 。每一次操作,你可以对 grid 中的任一元素 加 x 或 减 x 。 单值网格 是全部元素都相等的网格。 返回使网格化为单值网格所需的 最小 操作数。如果不能,返回 -1 。 示例 1: [https://assets.leetcode.com/uploads/2021/09/21/gridtxt.png] 输入:grid = [[2,4],[6,8]], x =...
思路
- 位置顺序无关,所以可以转换为一维数组排序解答。
排序后结果可用这个表达式表示:
(m-x[1])+(m-x[2])+……+(x[s-2]-m)+(x[s-1]-m) - 选择中位数可以使以上表达式的值最小,而且选择数组中没有的数并不会让结果更优。

