代码随想录第二天|区间和

今天白天忙于春招和学校生产实习报告的抄写,只大概学习了算法的思路,代码的实现细节放在明天补上。

6. 区间和

卡玛网例题:区间和
输入一个数组,不断输入区间然后对区间元素求和

  • 暴力解法:直接对每次的区间元素累加求和,当查询量大时,将会超时
    时间复杂度:O( n ∗ m n * m nm) m 为查询次数 m为查询次数 m为查询次数

  • 前缀和思想:在逐个输入数组元素的时候,同时记录前 k ( k < = n ) k(k<=n) k(k<=n)个元素的和。求区间和时就不用再每次for循环累加求和。
    时间复杂度:O( n n n) 只需在输入数据的时候遍历一次完整的数组。

7. 开发商购买土地

卡玛网例题:开放商购买土地
输入一个二维数组,用一条线分割数组,使两侧差值最小。

  • 暴力解法:三层循环,其中两层遍历所有的划分方法,最内层求和。
    时间复杂度:O( n ⋅ n ⋅ n n · n · n nnn)

  • 前缀和思想:两个两层循环,分别记录前 k ( k < = n > ) k(k<=n>) k(k<=n>)行/列元素的和,再来两个个独立的一层循环,求出行/列所有的差值,取最小者。
    时间复杂度:O( n ⋅ n + 2 ⋅ n n·n + 2·n nn+2n) 只需在输入数据的时候遍历一次完整的数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值