2025年--Lc297-3427. 变长子数组求和--java版

1.题目


2.思路

首先子数组的取值范围是[a,b]

右区间b的话等于当前的索引i,

左区间a的话等于取max(0,i-nusm[i])

因为是子数组,使用确定完左边界的值,要挨个加元素到右边界num[i]

所以j小于等于i

3.代码实现

java 复制代码
class Solution {
    public int subarraySum(int[] nums) {
        int sum=0;
       for(int i=0;i<nums.length;i++)
       {
        int start=Math.max(0,i-nums[i]);
        for(int j=start;j<=i;j++)
        {
         //j=i=0
         sum=sum+nums[j];

        }
       }
       return sum;
        
    }
}
相关推荐
云烟成雨TD1 天前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
于慨1 天前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
swg3213211 天前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
gelald1 天前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川1 天前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java
一轮弯弯的明月1 天前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
chenjingming6661 天前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
殷紫川1 天前
深入拆解 Java volatile:从内存屏障到无锁编程的实战指南
java
eddieHoo1 天前
查看 Tomcat 的堆内存参数
java·tomcat
那个失眠的夜1 天前
Mybatis延迟加载策略
xml·java·数据库·maven·mybatis