刷题专栏(二十一):区域和检索 - 数组不可变

简介: 刷题专栏(二十一):区域和检索 - 数组不可变

前言

刷题专栏到目前已经是第二十一篇了,欢迎大家来关注我的刷题专栏,一起来刷题。

今天这道题,还是涉及数组相关知识,《区域和检索 - 数组不可变》。

不过此题和其他题不太一样,此题是要单独实现一个类,并且要通过调用这个类的方法来实现某些效果。

这种类型的题大多需要在构造函数中做一些基础的初始化处理。

至于这道题具体的一些操作是什么,就让我们一起来看一下吧。

image.png

算法题:区域和检索 - 数组不可变

今天的这道题目看似描述的文字很多,其实并不难理解。

只需要抓住一个重要的点,就是如何在类实例化时将部分数据初始化。

解决了这个问题,也就很好做出来了。

下面我们就可以来看一下相关代码的编写了。

代码展示

此次运行的代码如下,就是通过构造函数来初始化内部元素,然后通过其他方法来取出相应的值。

class NumArray {
    int[] sums;
    public NumArray(int[] nums) {
        int n = nums.length;
        sums = new int[n + 1];
        for (int i = 0; i < n; i++) {
            sums[i + 1] = sums[i] + nums[i];
        }
    }
    public int sumRange(int i, int j) {
        return sums[j + 1] - sums[i];
    }
}
/**
 * Your NumArray object will be instantiated and called as such:
 * NumArray obj = new NumArray(nums);
 * int param_1 = obj.sumRange(left,right);
 */

代码执行结果

本次处理结果还是比较可以的,虽然内存消耗实为严重。就交给大家自己去完善一下了。

image.png

总结

这道题的不同之处在于给出了一个完整的类让大家去自己实现,那么为什么要给一个完整的类呢,必然就是要通过初始化来解决一下问题。

下回碰到这种题也就很容易解出来了。

目录
相关文章
|
6月前
|
存储 算法 Java
面试高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 二分 + 哈希表 + 堆 + 优先队列 合集
面试高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 二分 + 哈希表 + 堆 + 优先队列 合集
|
7月前
|
算法 Java
刷题专栏(二十八):找到所有数组中消失的数字
刷题专栏(二十八):找到所有数组中消失的数字
128 4
|
7月前
|
算法 Java
算法编程(十二):多数元素
算法编程(十二):多数元素
36 0
|
测试技术 索引 Python
【刷题日记】307. 区域和检索 - 数组可修改
本次刷题日记的第 24 篇,力扣题为:307. 区域和检索 - 数组可修改 ,中等
|
机器学习/深度学习 算法
代码随想录训练营day42| 416. 分割等和子集
代码随想录训练营day42| 416. 分割等和子集
数据结构一个小白的练级之路【链表的分割】题目参考
数据结构一个小白的练级之路【链表的分割】题目参考
|
机器学习/深度学习 算法 搜索推荐
【数据结构】三万字图文讲解带你手撕八大排序(附源码)3
【数据结构】三万字图文讲解带你手撕八大排序(附源码)
82 0
【数据结构】三万字图文讲解带你手撕八大排序(附源码)3
|
机器学习/深度学习 搜索推荐 算法
【数据结构】三万字图文讲解带你手撕八大排序(附源码)
【数据结构】三万字图文讲解带你手撕八大排序(附源码)
82 0
【数据结构】三万字图文讲解带你手撕八大排序(附源码)
|
机器学习/深度学习 人工智能 算法
【数据结构】三万字图文讲解带你手撕八大排序(附源码)2
【数据结构】三万字图文讲解带你手撕八大排序(附源码)
71 0
|
机器学习/深度学习 人工智能 搜索推荐
【数据结构】三万字图文讲解带你手撕八大排序(附源码)4
【数据结构】三万字图文讲解带你手撕八大排序(附源码)
116 0

热门文章

最新文章