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

前缀和的两种构造方法

方法1

    public preSum(int[] nums) {// preSum[0] = 0;preSum = new int[nums.length + 1];// 计算 nums 的累加和for (int i = 1; i < preSum.length; i++) {preSum[i] = preSum[i - 1] + nums[i - 1];}}

方法2

    public preSum(int[] nums) {preSum[0] = nums[0];preSum = new int[nums.length];// 计算 nums 的累加和for (int i = 1; i < preSum.length; i++) {preSum[i] = preSum[i - 1] + nums[i];}}

两种方法的区别在于构造的前缀和数组的长度,是nums.length + 1还是nums.length;

如果是nums.length + 1,则构造的前缀和preSum[0] = 0;

如果是nums.length;则构造的前缀和preSum[0] = nums[0];

要想把任意子数组都表示成两个前缀和的差,必须添加 preSum[0]=0,否则当子数组是前缀时,没法减去一个数


http://www.mrgr.cn/news/80171.html

相关文章:

  • 【Qt】QWidget中的常见属性及其功能(一)
  • ALOHA 协议详解
  • JAVA学习(三)
  • CTFshow-文件包含(Web78-88,Web116,117)
  • 1.5 多媒体系统简介
  • Flink CDC实时同步mysql数据
  • 使用BMFont创建适用于Unity的艺术字
  • supervisor使用详解
  • [MoeCTF 2021]unserialize
  • Unity学习笔记(二)如何制作角色动画
  • langchain 结构化输出
  • LeetCode hot100-74
  • React 内置的Hook学习
  • Flink CDC 读取oracle库数据性能优化
  • Z240001 基于Java+MySQL+SpringBoot+Vue实现的酒店管理系统的设计与实现
  • Java代审之常见的文件读取方法
  • 方法引用和lambda表达式的奥妙
  • 电感2222
  • #渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍01
  • freeswitch(开启支持MCU视频会议,使用mod_av模块)