当前位置: 首页 > news >正文

Leetcode 3444. Minimum Increments for Target Multiples in an Array

  • Leetcode 3444. Minimum Increments for Target Multiples in an Array
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3444. Minimum Increments for Target Multiples in an Array

1. 解题思路

这一题我的思路上就是一个深度优先遍历,考察target数组当中的每一个元素的全部倍数被出现的情况下,最少需要多少次操作,以及同时能够满足多少剩余的target数组中的数字,然后持续迭代考察,取其中的最小值。

同时,考虑到时间复杂度的因素,我们将结果用一个全局变量存下来,一旦某一步的结果超过了已知可行的最大操作数,就直接退出递归,从而进行剪枝。

2. 代码实现

给出最终的python代码实现如下:

class Solution:def minimumIncrements(self, nums: List[int], target: List[int]) -> int:nums, target = sorted(nums), sorted(target, reverse=True)n, m = len(nums), len(target)status = [0 for _ in range(m)]ans = math.infdef dfs(idx, nums, status):nonlocal ansif idx >= m:return 0elif status[idx] == 1:return dfs(idx+1, nums, status)need = math.inftgt = 0while tgt < nums[-1]:tgt += target[idx]old_status = deepcopy(status)for i, x in enumerate(target):if status[i] == 1 or tgt % x == 0:status[i] = 1i = bisect.bisect_right(nums, tgt)if i > 0:num = nums.pop(i-1)if abs(num-tgt) < ans:need = min(need, abs(num-tgt) + dfs(idx+1, nums, status))nums.insert(i-1, num)status = old_statusif need >= ans:return math.infif idx == 0:ans = needreturn needdfs(0, nums, status)return ans      

提交代码评测得到:耗时12ms,占用内存21.3MB。

http://www.lryc.cn/news/530917.html

相关文章:

  • 分享半导体Fab 缺陷查看系统,平替klarity defect系统
  • Java基础——分层解耦——IOC和DI入门
  • DeepSeek-R1 本地部署教程(超简版)
  • Vue3学习笔记-模板语法和属性绑定-2
  • csapp笔记3.6节——控制(1)
  • PYH与MAC的桥梁MII/MIIM
  • 国内flutter环境部署(记录篇)
  • 选择排序_75. 颜色分类
  • C++ Primer 标准库vector
  • C# 数组和列表的基本知识及 LINQ 查询
  • 大厂面试题备份20250201
  • w191教师工作量管理系统的设计与实现
  • Git 版本控制:基础介绍与常用操作
  • 讲清逻辑回归算法,剖析其作为广义线性模型的原因
  • 数据结构(1)——算法时间复杂度与空间复杂度
  • K8s运维管理平台 - xkube体验:功能较多
  • spring源码阅读系列文章目录
  • 快速提升网站收录:利用网站新闻发布功能
  • 【14】WLC3504 HA配置实例
  • 什么是LPU?会打破全球算力市场格局吗?
  • 智慧物业管理系统实现社区管理智能化提升居民生活体验与满意度
  • Vue3 表单:全面解析与最佳实践
  • MySQl的日期时间加
  • 实战:如何利用网站日志诊断并解决收录问题?
  • 每日一题——有效括号序列
  • PyTorch数据建模
  • OpenAI 实战进阶教程 - 第二节:生成与解析结构化数据:从文本到表格
  • 二叉树--链式存储
  • Windows 中的 WSL:开启你的 Linux 之旅
  • 2.3学习总结