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

和为K的子数组出现了多少个

思路:前缀和+哈希表(记录前缀和出现次数)

和为k,将k视为一个区间。子数组,要想到区间和,然后想到前缀和。prefix_sum=(prefix_sum-k)+k

def subArraySum(k,nums): cnt=0 prefix_sum=0 mp={0:1} #初始化前缀和为0的子数组出现次数为1 for i in range(len(nums)): prefix_sum+=nums[i] if prefix_sum-k in mp: #关键 cnt+=mp[prefix_sum-k] mp[prefix_sum]=mp.get(prefix_sum,0)+1 print(cnt) def main(): k=int(input()) line=input() nums=list(map(int,line.split())) subArraySum(k,nums) if __name__=="__main__": main()

也可以这样写,先处理前缀和数组,这样就不用像上面那样初始化mp了

cnt=0 mp={} prefix=[0]*(len(nums)+1) for i in range(len(nums)): prefix[i+1]=prefix[i]+nums[i] for j in prefix: if j-k in mp: cnt+=mp[j-k] mp[j]=mp.get(j,0)+1 print(cnt)
http://www.jsqmd.com/news/621446/

相关文章:

  • 安装Apache和绑定虚拟机
  • 从DVWA暴力破解看Web安全入门:用Burp Suite手把手教你绕过Low到High的防护机制
  • 当你的PCB遇上FCC认证:一个真实消费电子项目的EMC整改全记录
  • 零代码玩转AI绘画:在扣子平台5分钟搞定谷歌Nano Banana模型集成(附完整流程)
  • 实时行情系统设计:从协议选择到高可用架构,再到数据源选型亟
  • Qwen3-ASR-1.7B实战案例:多语言+方言自动识别Web界面快速上手
  • 2025_NIPS_Towards Self-Refinement of Vision-Language Models with Triangular Consistency
  • 千问3.5-2B部署教程(企业IT运维向):supervisorctl状态管理+健康检查集成
  • 【力扣hot100】 56. 合并区间
  • 计算机视觉全景图
  • 【万字文档+源码】基于springboot与vue新闻发布管理系统-计算机设计项目分享
  • Z-Image-Turbo-rinaiqiao-huiyewunv开源镜像:无需HuggingFace账号本地部署方案
  • 南宁天际大夏防雷接地系统设计
  • ATC MiThermometer库:ESP32非连接式BLE温湿度采集实战
  • mysql如何设置仅允许特定内网访问_MySQL权限配置中的IP绑定
  • 前端 AI 工程化:Agent Skill 打造项目专属智能助手
  • Windows Cleaner终极指南:快速解决C盘爆红问题的完整方案
  • 2026年公文降AI工具哪个好?职场人实测3款告诉你选哪个
  • 手把手教你用Ollama+Postman,把Llama2变成你的私人API接口
  • ADXL345 I²C驱动开发指南:嵌入式加速度计驱动设计与实战
  • 2026年全国建筑资质代办靠谱榜:四川工程资质代办、四川施工资质代办、四川资质建筑代办、资质建筑代办、代办资质选择指南 - 优质品牌商家
  • CSS动画与过渡效果进阶指南
  • 【Python办公】Excel 批量拆分神器
  • FPGA从入门到精通(5) - 进位链的优化策略与实战应用
  • # 设计模式常考类型详解
  • 一文搞懂 Spring Cloud:从入门到实战的微服务全景指南(建议收藏)潭
  • 3000h上岸中科大11408,初试“狂砍”380+
  • 2026年口碑好的HPP商用保鲜灭菌一体机/内蒙古HPP食品保鲜设备厂家精选合集 - 品牌宣传支持者
  • 动态规划——01背包、完全背包(python,二维DP)
  • 前端与后端分离架构:从理论到实践