算法中的前缀和思想

算法中的前缀和思想

在算法题中,我们常常会遇见这样的题:

  • 给定一个数组,求最大连续子数组(连续的和最大)

大家第一时间肯定想到的是用循环遍历,然而这种题型往往用循环势必会超时!
因为循环就意味着会做很多重复计算,所以我们引入前缀和思想:

  • 将我们之前算出的能够重复使用的数据存下来,即用即取,空间换取时间

比如如上的最大连续子数组问题,我们可以将从0到i( i>=0 ,i<array.length)的和存在一个数组中,
然后再循环遍历相减得到最大连续数组(当然这并不是此题的最优解,感兴趣的可以自行查阅资料)
总之,前缀和的思想就是让我们减少一些重复的计算,这对算法优化帮助很大.
当然这只是我个人的理解,还请各位批评指正!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值