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

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

目录

  • 描述
  • Python
    • 1. 前缀和

描述

  给定一个整数数组nums,处理以下类型的多个查询:计算索引leftright(包含leftright)之间的nums元素的 ,其中left <= right

  实现NumArray类:

  • NumArray(int[] nums):使用数组nums初始化对象
  • int sumRange(int i, int j):返回数组nums中索引leftright之间的元素的 总和 ,包含leftright两点(也就是nums[left] + nums[left + 1] + ... + nums[right])
      

Python

1. 前缀和

class NumArray:
	# 初始化
    def __init__(self, nums: List[int]):
    	# 前缀和空表
        self.s=[0]*(len(nums)+1)
        # 计算前缀和
        for i in range(len(nums)):
            self.s[i+1]=self.s[i]+nums[i]


	# 区间和
    def sumRange(self, left: int, right: int) -> int:
    	# 前缀和之差
        return self.s[right+1]-self.s[left]

http://www.kler.cn/a/488431.html

相关文章:

  • 【华为OD-E卷 - 篮球比赛 100分(python、java、c++、js、c)】
  • 使用docker-compose安装Redis的主从+哨兵模式
  • 汽车基础软件AutoSAR自学攻略(三)-AutoSAR CP分层架构(2)
  • 【STM32】利用SysTick定时器定时1s
  • Windows 安装 Docker 和 Docker Compose
  • 软考信安18~网络安全测评技术与标准
  • linux 设置mysql 外网访问
  • 微信原生小程序自定义封装组件(以导航navbar为例)
  • 1.3作业
  • 机器学习的基本原理和算法
  • 缓存-Redis-API-Redisson-可重试
  • OpenCV轮廓相关操作API (C++)
  • 探索 Docker Desktop:简化开发与部署的利器
  • 4.3.1 树、二叉树基本概念
  • 阿里云直播互动Web
  • R.swift库的详细用法
  • JavaScript系列(18)--异步编程模式
  • 【UI自动化测试】selenium操作补充
  • 【Docker】docker compose 安装 Redis Stack
  • Linux 文件的特殊权限—ACL权限控制
  • JavaScript Chrome 中的运行
  • Android 12.0 mtk平板camera2横屏预览旋转90度横屏保存录像旋转90度功能实现
  • Python对象的序列化和反序列化工具:Joblib与Pickle
  • Linux 系统 PWM 风扇驱动框架学习记录
  • 【比较乱,如果遇到相同问题可以看】Autoware.universe的绕障线路的参数修改
  • CSS——39. 文本修饰(文本属性)