本文主要是介绍Leetcode 3122. Minimum Number of Operations to Satisfy Conditions,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- Leetcode 3122. Minimum Number of Operations to Satisfy Conditions
- 1. 解题思路
- 2. 代码实现
- 题目链接:3122. Minimum Number of Operations to Satisfy Conditions
1. 解题思路
这一题就是一个动态规划的思路,我们只需要对每一列取0到9的情况各自进行一下讨论,然后看和当前元素当中重复度最高的一个既是我们目标的情况,将其返回即可。
2. 代码实现
给出python代码实现如下:
class Solution:def minimumOperations(self, grid: List[List[int]]) -> int:n, m = len(grid), len(grid[0])cnt = [[0 for _ in range(m)] for _ in range(10)]for i in range(n):for j in range(m):cnt[grid[i][j]][j] += 1@lru_cache(None)def dp(idx, pre):if idx >= m:return 0ans = 0for i in range(10):if i == pre:continueans = max(ans, cnt[i][idx] + dp(idx+1, i))return ansreturn n * m - dp(0, -1)
提交代码评测得到:耗时2431ms,占用内存51.1MB。
这篇关于Leetcode 3122. Minimum Number of Operations to Satisfy Conditions的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!