求连续子数组的和

def subarraySum(nums):

preSum = [0 for _ in range(len(nums)+1)]

for i in range(len(nums)):

preSum[i+1] = preSum[i] + nums[i]

return preSum

nums = [3,5,2,-2,4,1]

res = subarraySum(nums)

print(res)

接下来我们要求连续子数组的和只需要利用:preSum[j+1]-preSum[i]

leetcode 560 和为K的子数组

class Solution:

def subarraySum(self, nums: List[int], k: int) -> int:

preSum = [0 for _ in range(len(nums)+1)]

for i in range(len(nums)):

preSum[i+1] = preSum[i] + nums[i]

print(preSum)

res = 0

for i in range(1,len(nums)+1):

for j in range(i):

if preSum[i] - preSum[j] == k:

res += 1

return res

优化:我直接记录下有几个sum[j]和sum[i]-k相等,直接更新结果,就避免了内层的 for 循环。我们可以用哈希表,在记录前缀和的同时记录该前缀和出现的次数。

class Solution:

def subarraySum(self, nums: List[int], k: int) -> int:

dic = {}

acc, res = 0, 0

for num in nums:

acc += num

if acc == k: res += 1

if acc - k in dic: res += dic[acc - k]

dic[acc] = dic.get(acc, 0) + 1

return res

python前缀_【python刷题】前缀和相关推荐

  1. python刷题软件_教你用python写:HDU刷题神器

    声明:本文以学习为目的,请不要影响他人正常判题 HDU刷题神器,早已被前辈们做出来了,不过没有见过用python写的.大一的时候见识了学长写这个,当时还是一脸懵逼,只知道这玩意儿好屌-.时隔一年,决定 ...

  2. python题库刷题训练软件_自动刷题机 Python 解释源码 超新泛雅

    本文解释一下代码,如果有想要用机器刷题的(前提是能找的到答案),可以参考一下. 开发原因:作业又多又无聊自己不想做,干脆用机器刷题. 主要方法:主要用Python的selenium库实现刷题. 需要基 ...

  3. 全国计算机等级考试python(未来教育 刷题软件)

    未来教育计算机二级考试C/C++/Python/Java/MySQL/Web/Access题库-淘宝网 (taobao.com) 一.选择题 1.下列叙述中正确的是() A.数据库系统减少了数据冗余 ...

  4. mysql怎么刷题_面试刷题mysql1:一条sql语句是如何经过mysql的体系结构的?

    {port} -u${user} -p ,输入密码. 使用连接器连接服务端: 连接成功之后,权限修改不会影响当前连接,连接的有效期默认是8个小时: 连接之后,执行过程中使用内存会持续增加,应该定时重置 ...

  5. 手机号正则_一起刷题学习正则表达式

    在我最开始学习正则表达式的时候看到一堆符号简直头晕,所以很长一段时间我都是百度一下某某正则怎么写,比如:匹配所有手机号码的正则,但是有时候工作中碰到的一些问题网上搜不到,这就尴尬了,后面还是逼着自己花 ...

  6. 初识python 视频_#python day02 初识python 学习视频来源于 太白金星

    #python day02 初识python 学习视频来源于 太白金星 ''' 知识点:安装PyCharm''' # 设置鼠标条件字体大小:file ->settings # 搜索mouse E ...

  7. c++刷题_今日刷题(5)

    微信小程序可以刷题咯,购买系统班同学可以在学员群中打卡小程序刷题,错过可以在公众号补充练习,但公众号不对答案进行解析哟~一起刷题嗨起来~ 刷题知识模块与系统班授课进程匹配温馨提示:公众号刷题并非每天都 ...

  8. 100内奇数之和流程图_七月刷题挑战,100%获奖的法考速记本活动来啦!

    时间正式进入了七月,晓伙伴们的复习进度到哪啦? 是还在一轮行政法苦苦挣扎,还是一轮完美收官二轮尚未开始,亦或是二轮推背课信手拈来呢?在认真赶进度的同时,大家有没有及时回顾之前学习的知识呢 一个完美的复 ...

  9. 在哪里刷题_击穿刷题马太效应,用20%的时间,快速刷出80%的成绩!高三冲刺必看!...

    刷题,作为巩固知识点的经典操作,也是提分的重要手段.同样是刷题,有人突飞猛进,有人却淹没题海. 如何通过刷题提升学习效率和考试成绩?怎样打破题海恐惧?善用刷题实现逆袭? 日刷5套数学卷,考前生病耽误一 ...

  10. python 编程刷题_一起刷题吧 | 100+Python编程题带你快速上手(附答案)

    来源:Python大本营 本文约1000字,建议阅读5分钟. 100+编程练习帮大家轻松学习Python,春节也要抓紧学习哟~ 春节马上就要到了,怎么能让自己在假期里不掉队?今天,给大家准备一个项目: ...

最新文章

  1. 记一次Java进程突然消失问题
  2. HDU 1251(trie树)
  3. C# web实现word 转Html、office转Html、pdf转图片 在线预览文件
  4. hadoop datajoin
  5. RecyclerView跳转到指定位置,RecyclerView上下滑动监听,RecyclerView滑动速度
  6. buffsize 缓冲区的大小多少合适_对于Redis性能指标监控!你了解多少?
  7. 计算机c语言期末答案,大学计算机C语言期末考试试题A.doc
  8. C# 将MDI窗口嵌入普通窗口
  9. SAP系统如何打NOTE?
  10. Rem布局案例讲解。
  11. Golang 流媒体音视频网络传输开源项目-LAL
  12. 软考软件设计师备考详细介绍
  13. html为知笔记模板,为知笔记如何建立模板教程
  14. 关于盗墓笔记的那些事
  15. 180余件河北武强年画珍品亮相新疆昌吉回族自治州博物馆
  16. C++ 中打开 exe 文件
  17. Linux 内核软死锁(soft lockup)记录
  18. Zookeeper启动成功,报错“Error contacting service. It is probably not running”
  19. 安卓角色扮演游戏源码_角色扮演类安卓手游排行榜 热门手游推荐
  20. 旧话重提,还来聊聊ERP

热门文章

  1. Ubuntu运行中文识别CHINESE
  2. word2007工具栏隐藏了怎样能一直显示?
  3. 网上做什么可以赚钱?网上最靠谱的赚钱方法
  4. 华三服务器升级文档,H3C交换机升级步骤
  5. 抑郁症,恐惧,压力和肠道微生物群脱不开的关系
  6. linux模拟手柄输入,Steam 输入手柄模拟最佳实践
  7. 如何让移动端出现横向滚动条_纯css实现移动端横向滑动列表overflow:atuo;隐藏滚动条...
  8. Speedoffice(Excel)行高列宽自动调整的方法
  9. 关于AARRR用户增长漏斗模型,你究竟了解多少?
  10. OPNsense用户手册-高可用性和硬件故障转移