【LeetCode每日一题】303. 区域和检索 - 数组不可变


303. 区域和检索 - 数组不可变

在这里插入图片描述
在这里插入图片描述

思路:前缀和

1.因为要根据给出的两个索引,来返回索引区间的和

2.创建一个n+1大小的新数组

3.遍历原本的数组,计算每个位置的前缀和

4.再通过给出的索引下标,在新数组中,找到两个索引的前缀和

5.返回两者的差值

6.left位置的前缀和,不包含left。right位置的前缀和,不包含right。所以要right+1

代码:

    public  NumArray(int[] nums) {
        int n = nums.length;
        sum = new int[n + 1];
        for (int i = 0; i < n; i++) {
            sum[i + 1] = sum[i] + nums[i];
        }
    }


    public int sumRange(int left, int right) {

        return sum[right + 1] - sum[left];
    }

点击移步博客主页,欢迎光临~

偷cyk的图

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-22 01:28:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-22 01:28:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-22 01:28:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-22 01:28:01       20 阅读

热门阅读

  1. BitMap 和 HyperLogLog

    2024-03-22 01:28:01       20 阅读
  2. LeetCode刷题笔记之hot 100(一)

    2024-03-22 01:28:01       16 阅读
  3. MATLAB中的符号计算是什么?如何使用它?

    2024-03-22 01:28:01       17 阅读
  4. P1170 兔八哥与猎人 Python

    2024-03-22 01:28:01       16 阅读
  5. 蓝桥集训之山峰和山谷

    2024-03-22 01:28:01       20 阅读
  6. 客户端渲染与服务端渲染(1)

    2024-03-22 01:28:01       15 阅读
  7. # termux连接云服务器

    2024-03-22 01:28:01       19 阅读
  8. ES查询小技能

    2024-03-22 01:28:01       19 阅读
  9. Python之Flask框架~消息闪现

    2024-03-22 01:28:01       17 阅读
  10. 使用Pytesseract进行OCR

    2024-03-22 01:28:01       19 阅读