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

从零开始学网站建设知乎安防网站下载

从零开始学网站建设知乎,安防网站下载,网络建站,社群营销的方法和技巧文章目录 面试题 10.10. 数字流的秩327. 区间和的个数315. 计算右侧小于当前元素的个数 树状数组可以理解一种数的存储格式。 面试题 10.10. 数字流的秩 假设你正在读取一串整数。每隔一段时间#xff0c;你希望能找出数字 x 的秩(小于或等于 x 的值的个数)。 请实现数据结构… 文章目录 面试题 10.10. 数字流的秩327. 区间和的个数315. 计算右侧小于当前元素的个数 树状数组可以理解一种数的存储格式。 面试题 10.10. 数字流的秩 假设你正在读取一串整数。每隔一段时间你希望能找出数字 x 的秩(小于或等于 x 的值的个数)。 请实现数据结构和算法来支持这些操作也就是说 实现 track(int x) 方法每读入一个数字都会调用该方法 实现 getRankOfNumber(int x) 方法返回小于或等于 x 的值的个数。 面试题 10.10. 数字流的秩 class StreamRank {vectorint v;int lowbit(int x) {return x -x;} public:StreamRank(): v(50002, 0) {}void track(int x) {x; //x 1是因为树状数组处理的元素下标从1开始while (x 50001) {v[x];x lowbit(x);}}int getRankOfNumber(int x) {x;int ans 0;while (x) {ans v[x];x - lowbit(x);}return ans;} };class StreamRank:def __init__(self):self.l [0]*50002def lowBit(self, x):return x (-x)def track(self, x: int) - None:x 1while x 50001:self.l[x] 1x self.lowBit(x)def getRankOfNumber(self, x: int) - int:x 1ans 0while x:ans self.l[x]x - self.lowBit(x)return ans327. 区间和的个数 给你一个整数数组 nums 以及两个整数 lower 和 upper 。求数组中值位于范围 [lower, upper] 包含 lower 和 upper之内的 区间和的个数 。 区间和 S(i, j) 表示在 nums 中位置从 i 到 j 的元素之和包含 i 和 j (i ≤ j)。 327. 区间和的个数 区间过大hash然后到树状数组。 class Solution:def countRangeSum(self, nums, lower: int, upper: int) - int:n len(nums)prefixs [0]*nt 0ans 0for i in range(n):t nums[i]prefixs[i] tif lower t upper:ans 1s set()for i in range(n):s.add(prefixs[i])s.add(prefixs[i]-lower)s.add(prefixs[i] - upper)l sorted(s)d {x: i1 for i, x in enumerate(l)} # hash到固定长度trie [0]*(len(d)1) # 树状数组for i in range(n):left, right d[prefixs[i]-upper], d[prefixs[i]-lower]ans self.query(trie, right) - self.query(trie, left-1)self.insert(trie, d[prefixs[i]])return ansdef query(self, trie, x):ans 0while x:ans trie[x]x - x (-x)return ansdef insert(self, trie, x):while x len(trie):trie[x] 1x x (-x)315. 计算右侧小于当前元素的个数 给你一个整数数组 nums 按要求返回一个新数组 counts 。数组 counts 有该性质 counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。 315. 计算右侧小于当前元素的个数 class Solution:def countSmaller(self, nums: List[int]) - List[int]:n len(nums)l [0]*20002 # -10000~10000 - 2~20002 因为求小于x的值x2count输入x1ans [0]*nfor i in range(n-1,-1,-1):x nums[i] 10002ans[i] self.count(l, x-1)self.insert(l, x)return ansdef count(self, l, x):ans 0while x:ans l[x]x - self.lowBit(x)return ansdef lowBit(self, x):return x (-x)def insert(self, l, x):while x len(l):l[x] 1x self.lowBit(x)算法学习笔记(2) : 树状数组
http://www.w-s-a.com/news/431333/

相关文章:

  • 打开网站弹出qq应用软件有哪些
  • 温州网站建设seo网站 如何做 中英文切换
  • 聊城做网站的公司资讯信阳 网站建设
  • 天津市工程建设交易网站查汗国珠海 网页设计
  • 龙果学院大型网站稳定性建设汾阳做网站
  • 湖北 个人网站备案时间域名查询备案查询
  • 网站推广方式校园网站怎么建
  • 长沙seo网站排名怎么在百度发帖
  • 织梦贷款网站模板做印章网站
  • 彭州做网站上海百度网络推广
  • 广州网站搭建快速提升网站排名荧光字网站
  • 15年做那些网站能致富做seo是什么意思
  • 各电商网站的特点网站制作2007
  • 用html做一号店网站怎么做公众号注册平台官网
  • 做盈利网站怎么备案vs做网站如何调试
  • 嘉兴做营销型网站廊坊做网站外包
  • 双语网站模板常州做网站的公司
  • 广州市车管所网站建设全国做网站公司前十名
  • 太原手手工网站建设公司视频直播服务
  • 雷达图 做图网站wordpress首页怎么美化
  • 四川做网站设计公司价格vip解析网站怎么做的
  • 网站建设流程域名申请做化工的 有那些网站
  • 软件开发设计流程图seo搜索引擎官网
  • 外国小孩和大人做网站东富龙科技股份有限公司
  • 上线倒计时单页网站模板做网站的资金来源
  • 泸州市建设厅网站中小企业网络需求分析
  • asp网站版权做网页价格
  • 长春网站建设路关键词优化公司哪家好
  • 河南省建设银行网站年报天津设计师网站
  • 沙洋网站定制如果自己建立网站