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;
        
    }
}
相关推荐
FQNmxDG4S17 分钟前
Maven依赖管理:版本冲突解决与生命周期控制
java·数据库·maven
傻瓜搬砖人35 分钟前
Spring集成Web环境
java·spring·maven
FQNmxDG4S39 分钟前
Java泛型编程:类型擦除与泛型方法的应用场景
java·开发语言·python
GottdesKrieges1 小时前
OceanBase恢复常见问题
java·数据库·oceanbase
IGAn CTOU1 小时前
Java高级开发进阶教程之系列
java·开发语言
leo825...1 小时前
Claude Code Skills 清单(本地)
java·python·ai编程
NGSI vimp1 小时前
Java进阶——如何查看Java字节码
java·开发语言
身如柳絮随风扬3 小时前
多数据源切换实战:从业务场景到3种实现方案全解析
java·分布式·微服务
Java小生不才3 小时前
Spring AI文生音
java·人工智能·spring
凯尔萨厮3 小时前
Springboot2.x+Thymeleaf项目创建
java