当前位置: 首页 > 后端技术 > Java

算法回顾3——连续子数组的最大和

时间:2023-04-01 19:21:26 Java

使用滑动窗口方法:关键点:需要存储当前滑动窗口的总和,如果<=0,则不需要在其上添加当前值publicintFindGreatestSumOfSubArray(int[]array){//滑动窗口法:if(array==null||array.length==0)return-1;intmax=Integer.MIN_VALUE;//存储最大值并初始化为最小值inttempSum=0;//当前滑动窗口的总和for(inti=0;imax)max=tempSum;}returnmax;}??容易出错的一点:(上面的tempSum在这里就是preSum),preSum的更新是根据最大值来的,这种思路是错误的!!!publicintFindGreatestSumOfSubArray(int[]array){//动态编程方法if(array==null||array.length==0)return-1;intpreSum=0;//前一个结果intrealSum=Integer.MIN_VALUE;//最后的结果for(inti=0;i