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

2772.使数组中的所有元素都等零 妙用差分!

2772.使数组中的所有元素都等零
在这里插入图片描述
在这里插入图片描述

  • 这题涉及这个区间修改,当然啦,通用的方法肯定是使用线段树进行求解,但是我们可以注意到,这个区间修改是有方向性+固定大小,所以我们可以使用差分数组进行求解

差分方法

  • 我们需要一边差分,一边就要计算出当前位置是否可以变为0,如果不可以,直接返回False,否则累积计算这个差分前缀和
class Solution:def checkArray(self, nums: List[int], k: int) -> bool:n = len(nums)d = [0] * (n + 1)  # 差分数组,初始全零sum_d = 0  # 当前差分数组的前缀和for i, x in enumerate(nums):sum_d += d[i]  # 计算当前差分前缀和x += sum_d  # 当前 nums[i] 的实际值(原始值加上差分的影响)if x == 0: continue  # 无需操作if x < 0 or i + k > n: return False  # 无法操作sum_d -= x  # 相当于在差分数组中 d[i] -= xd[i + k] += x  # 相当于在差分数组中 d[i+k] += xreturn True
http://www.xdnf.cn/news/127927.html

相关文章:

  • chili3d调试笔记9 参数化建模+ai生成立方体
  • C++基础概念补充4—命名空间
  • 1.2 java的语法以及常用包(入门)
  • 关于Tecnomatix Plant Simulation 3D模型保存过慢的问题解决方案
  • 优考试V4.20机构版【可注册】
  • 发送网络请求
  • Linux用户管理实战:创建用户并赋予sudo权限的深度解析
  • LLM 大模型快速入门
  • 直观讲解生成对抗网络背后的数学原理
  • 雷军缺席上海车展引猜测,小米回应:时间冲突 造车计划稳步推进
  • 【刷题Day25】用户态和内核态、Reactor、虚拟内存(浅)
  • 《100天精通Python——基础篇 2025 第2天:Python解释器安装与基础语法入门》
  • 部署本地知识库,怎么选择 vllm 和 langchain_ollama
  • 打破“沙漏“现象→提高生成式搜索/推荐的上限
  • SpringBoot自定义拦截器以及多个拦截器执行顺序
  • 前端算法Hot 100 _二分查找
  • HTB - BigBang靶机记录
  • C++学习:六个月从基础到就业——STL算法(三)—— 数值算法(上)
  • 深入理解表单---提交用户与网页交互的重要方式:GET 与 POST 的本质区别与应用实践
  • 【C++】入门基础【下】
  • 信息系统项目管理工程师备考计算类真题讲解八
  • rabbitmq安装项目集成
  • 智能清洁机器人中的实时操作系统应用研究
  • Android学习总结之扩展基础篇(一)
  • 动手试一试 Spring Boot默认缓存管理
  • 中央对齐模式1 2与更新中断
  • Apifox 4月更新|Apifox在线文档支持LLMs.txt、评论支持使用@提及成员、支持为团队配置「IP 允许访问名单」
  • 使用setGraphicsEffect重新设置阴影导致程序崩溃的问题
  • SAP SuccessFactors Recruiting and Onboarding The Comprehensive Guide
  • 【oql】spark thriftserver内存溢出,使用oql查询导致oom的sql