树状数组
枫流仁武
这个作者很懒,什么都没留下…
展开
-
LeetCode 493 翻转对
给定一个数组nums,如果i < j且nums[i] > 2*nums[j]我们就将(i, j)称作一个重要翻转对。 你需要返回给定数组中的重要翻转对的数量。 首先给出二分搜索算法的解法: class Solution: def reversePairs(self, nums: List[int]) -> int: arr = [] res = 0 for val in nums[::-1]: ...原创 2020-11-28 15:10:55 · 51 阅读 · 0 评论 -
LeetCode 307 区域和检索
给定一个整数数组 nums,求出数组从索引i到j(i≤j) 范围内元素的总和,包含i,j两点。 update(i, val) 函数可以通过将下标为i的数值更新为val,从而对数列进行修改。 利用树状数组实现。 from typing import * class NumArray: def __init__(self, nums: List[int]): self.n = len(nums) self.c = [0] * (...原创 2020-11-14 08:36:29 · 63 阅读 · 0 评论