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

网站建设开发设计营销公司山东开发公司工程部年终总结

网站建设开发设计营销公司山东,开发公司工程部年终总结,如何选择企业网站开发,机票旅游网站建设文章目录1. 题目2. 解题2.1 map2.2 树状数组1. 题目 假设你正在读取一串整数。每隔一段时间#xff0c;你希望能找出数字 x 的秩(小于或等于 x 的值的个数)。 请实现数据结构和算法来支持这些操作#xff0c;也就是说#xff1a; 实现 track(int x) 方法#xff0c;每读入… 文章目录1. 题目2. 解题2.1 map2.2 树状数组1. 题目 假设你正在读取一串整数。每隔一段时间你希望能找出数字 x 的秩(小于或等于 x 的值的个数)。 请实现数据结构和算法来支持这些操作也就是说 实现 track(int x) 方法每读入一个数字都会调用该方法 实现 getRankOfNumber(int x) 方法返回 小于或等于 x 的值的个数。 示例: 输入: [StreamRank, getRankOfNumber, track, getRankOfNumber] [[], [1], [0], [0]] 输出: [null,0,null,1]提示 x 50000 track 和 getRankOfNumber 方法的调用次数均不超过 2000 次来源力扣LeetCode 链接https://leetcode-cn.com/problems/rank-from-stream-lcci 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题 类似题目LeetCode 315. 计算右侧小于当前元素的个数二叉查找树二分查找归并排序逆序数总结 2.1 map map 存储自己的个数写入时间复杂度 O(log⁡n)O(\log n)O(logn)读取秩的时候从前往后遍历加起来小于等于x的O(n)O(n)O(n) 时间复杂度 class StreamRank {mapint,int m;int count 0; public:StreamRank() {}void track(int x) {m[x];}int getRankOfNumber(int x) {count 0;for(auto mi : m){if(x mi.first)count mi.second;elsebreak;}return count;} };108 ms 13.9 MB map 存储前面小于等于它的个数读取秩的时间复杂度 O(log⁡n)O(\log n)O(logn)插入数以后需要更新所有的 map 的 value时间复杂度 O(n)O(n)O(n) class StreamRank {mapint,int m; public:StreamRank() {}void track(int x) {auto it m.rbegin();for(; it ! m.rend(); it){if(it-first x)it-second;//有比x大的他们的value比它小的个数 1elsebreak;}if(it m.rend() || (it ! m.rend() it-first x))m[x]; // map遍历到头了x不存在或者x存在elsem[x] it-second 1;//遍历没到头x不存在x 的 value 前一个value 自己}int getRankOfNumber(int x) {if(m.empty() || x m.begin()-first)return 0;if(m.count(x))return m[x];auto end m.upper_bound(x);end--;return end-second;} };120 ms 14 MB 2.2 树状数组 上面解法在 n 次操作下的时间复杂度为 O(n2)O(n^2)O(n2) 如何优化请看树状数组一次查询和修改时间复杂度均为 O(log⁡n)O(\log n)O(logn) class StreamRank {vectorint v;int N 50002; public:StreamRank() {v vectorint(N);}void track(int x) {update(x1, 1);}int getRankOfNumber(int x) {return query(x1);}//-----树状数组-------int lowbit(int x){return x(-x);}void update(int i, int delta){for( ; i N; i lowbit(i))v[i] delta;}int query(int i){int sum 0;for( ; i 0; i - lowbit(i))sum v[i];return sum;} };44 ms 20.6 MB
http://wiki.neutronadmin.com/news/152698/

相关文章:

  • 网站开发得花多少钱外贸营销公司
  • 网站加载动画效果如何解决网站访问拥挤
  • 哈尔滨建设网站平台网站程序
  • 破解wordpress网站密码展厅装修设计公司有
  • 泰州专一做淘宝网站域名备案和网站备案有什么区别
  • 初学者毕业设计做网站吉林市最新消息今天
  • 建站平台 在线提交功能公司网站制作第一步是什么
  • 电子商务网站建设如何实施标书制作模板
  • 北京公司网站制作流程如皋网页设计
  • 网站设计收费模式app网站开发要多少钱
  • 小型教育网站的开发与建设wordpress共享到微信
  • 网站推广策划书包括哪些点东家乐装修公司怎么样
  • 中山古镇做网站学网站开发培训学校
  • qq官方网站进入公众号网站怎么做的
  • 郑州营销网站公司地址wordpress 整合php
  • 讯杰网站建设镇海区住房和建设网站
  • 网络公司制作网站php做网站有哪些好处
  • 如何在易语言上做网站网站开发实战网络课
  • 开发公众号 微网站开发ps如何做切片网站按钮
  • 本地做网站网站服务器崩溃影响
  • 网站让女友做网站模特中企动力科技股份有限公司成都分公司
  • 株洲网站定制济南企业免费建站
  • 哪个建站系统好wordpress网站360搜索收录
  • 企业网站怎么做产品图片轮播设计比例网站
  • 烟台有没有做网站银川建网站
  • 云南网站设计联系方式网站后台管理入口
  • 正规的网站建设公WordPress为什么进不去
  • 公司微信网站建设方案模板下载wordpress链接设置方法
  • 司法网站建设运营情况自己制作logo免费 生成器
  • 模板网站免费微信小程序万能开挂器