zoukankan      html  css  js  c++  java
  • 303. Range Sum Query

    /**
     * 303. Range Sum Query - Immutable
     * https://leetcode.com/problems/range-sum-query-immutable/description/
     *
     * Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.
    
    Example:
    Given nums = [-2, 0, 3, -5, 2, -1]
    sumRange(0, 2) -> 1
    sumRange(2, 5) -> -1
    sumRange(0, 5) -> -3
    
    Note:
    You may assume that the array does not change.
    There are many calls to sumRange function.
     * */
    class NumArray(nums: IntArray) {
        var dp: IntArray
    
        init {
            this.dp = nums
            for (i in 1 until nums.size) {
                dp[i] = dp[i] + dp[i - 1]
            }
        }
    
        fun sumRange(i: Int, j: Int): Int {
            return if (i == 0) dp[j] else dp[j] - dp[i - 1]
        }
    }
    
    /**
     * Your NumArray object will be instantiated and called as such:
     * var obj = NumArray(nums)
     * var param_1 = obj.sumRange(i,j)
     */
  • 相关阅读:
    thinkphp empty标签
    thinkphp present标签
    if标签
    thinkphp 范围标签
    thinkphp 比较标签
    thinkphp switch标签
    thinkphp for标签
    thinkphp foreach标签
    QueryList 来做采集
    thinkphp volist标签
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/12460990.html
Copyright © 2011-2022 走看看