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

Leetcode 3654. Minimum Sum After Divisible Sum Deletions

  • Leetcode 3654. Minimum Sum After Divisible Sum Deletions
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3654. Minimum Sum After Divisible Sum Deletions

1. 解题思路

这一题思路上就是一个动态规划的思路,我们考虑每一个位置的情况,其如果要保留,那么我们就考虑其下一个位置的情况,如果要删除,那么就会一下子删除到其下一个与当前位置前序和对kkk同余的位置上。

因此,我们很快就能写出迭代公式,然后进行动态规划即可。

2. 代码实现

给出python代码实现如下:

class Solution:def minArraySum(self, nums: List[int], k: int) -> int:if k == 1:return 0n = len(nums)remains = [0 for _ in range(n+1)]boundries = defaultdict(list)boundries[0].append(0)for i in range(n):remains[i+1] = (remains[i] + nums[i]) % kboundries[remains[i+1]].append(i+1)if len(boundries) == 1:return 0@lru_cache(None)def dp(idx):if idx >= n:return 0ans = math.infj = bisect.bisect_right(boundries[remains[idx]], idx)if j < len(boundries[remains[idx]]):r = boundries[remains[idx]][j]ans = min(ans, dp(r))if ans == 0:return ansif ans > nums[idx]:ans = min(ans, nums[idx] + dp(idx+1))return ansreturn dp(0)

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

http://www.xdnf.cn/news/18343.html

相关文章:

  • DL00291-联邦学习以去中心化锂离子电池健康预测模型完整实现
  • el-input 重写带图标密码框(点击小眼睛显示、隐藏密码)
  • 当MySQL的int不够用了
  • 【教程】在 VMware Windows 虚拟机中使用 WinPE 进行离线密码重置或取证操作
  • 玛雅预言的技术性解构:历法算法、量子共振与文明预警机制
  • mongodb学习
  • Rust 入门 返回值和错误处理 (二十)
  • 编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET... 拒绝访问
  • 跟踪不稳定目标:基于外观引导的运动建模实现无人机视频中的鲁棒多目标跟踪
  • GeoTools 读取影像元数据
  • OpenHarmony 之多模态输入子系统源码深度架构解析
  • Web3.0 时代的电商系统:区块链如何解决信任与溯源问题?
  • SWMM排水管网水力、水质建模及在海绵与水环境中的应用
  • C++常见面试题-2.C++类相关
  • EPM240T100I5N Altera FPGA MAX II CPLD
  • 深度学习-167-MCP技术之工具函数的设计及注册到MCP服务器的两种方式
  • TensorFlow 面试题及详细答案 120道(11-20)-- 操作与数据处理
  • 【Linux】文件系统
  • 前端面试核心技术30问
  • 《C++进阶之STL》【二叉搜索树】
  • 神经网络中的那些关键设计:从输入输出到参数更新
  • Python 函数进阶:深入理解参数、装饰器与函数式编程
  • Java 大视界 -- Java 大数据在智能物流无人配送车路径规划与协同调度中的应用
  • 暴雨中的“天眼”:天通哨兵PS02卫星图传系统筑牢防汛安全网
  • 前端面试题1
  • 边缘智能体:Go编译在医疗IoT设备端运行轻量AI模型(上)
  • Springboot使用Selenium+ChormeDriver在服务器(Linux)端将网页保存为图片或PDF
  • Rust学习笔记(七)|错误处理
  • 0819 使用IP多路复用实现TCP并发服务器
  • 反向代理实现服务器联网