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

力扣315.计算右侧小于当前元素的个数

力扣315.计算右侧小于当前元素的个数

  • 离散化 + 树状数组

  •   const int N = 100010;int tr[N],n;class Solution {public:vector<int> countSmaller(vector<int>& nums) {n = nums.size();vector<int> tmp(nums);vector<int> res(n);memset(tr,0,sizeof tr);ranges::sort(tmp);int l = unique(tmp.begin(),tmp.end()) - tmp.begin();for(int i=0;i<n;i++)nums[i] = lower_bound(tmp.begin(),tmp.begin()+l,nums[i]) - tmp.begin() + 1;for(int i=n-1;i>=0;i--){int val = nums[i];cout<<val<<" ";res[i] = query(val - 1);cout<<tr[1]<<endl;add(val,1);}return res;}int lowbit(int x){return x&-x;}int query(int x) {int ret = 0;while (x) {ret += tr[x];x -= lowbit(x);}return ret;}void add(int x, int k) {while (x < n) {tr[x] += k;x += lowbit(x);}}};
    
http://www.lryc.cn/news/418506.html

相关文章:

  • websocket,css动画和css-position、display、区别
  • 前端获取视频文件宽高信息和视频时长
  • 【区块链+医疗健康】基于区块链的药品类监管应用管理系统 | FISCO BCOS应用案例
  • MySQL4多表查询 内连接
  • Java -数组
  • .prettierrc.js 有什么用
  • haproxy七层代理
  • <数据集>柑橘缺陷识别数据集<目标检测>
  • Go开发后端和Vue3开发前端的前后端分离框架中自己手戳一个OA流程审批、工作流引擎给新时代一个漂亮便捷的工作流引擎
  • 深入理解 toDto 与 toEntity:结合 Eladmin 框架的最佳实践
  • 基于区块链的供应链应用开发
  • 获取GORM执行时的sql字符串
  • Linux系统使用Docker安装RStudio服务并实现任意浏览器远程访问
  • 【原创】springboot+mysql法律咨询网设计与实现
  • Vue 应用实例的关键方法与配置案例二
  • Java面试题--JVM大厂篇之破解 JVM 性能瓶颈:实战优化策略大全
  • Apache Curator 创建节点时,如果节点存储就会抛出异常吗?
  • 【食物链】
  • 【RN】实现markdown文本简单解析
  • webpack plugin
  • 【busybox记录】【shell指令】date
  • 同态加密和SEAL库的介绍(八)性能
  • 华为OD-D卷数的分解
  • rk3588 low_delay_net_display注意事项
  • Spring Boot 快速入门样例【后端 3】
  • Linux云计算 |【第二阶段】NETWORK-DAY2
  • Java面试题(基础篇)③
  • Qt动态调用 - QMetaObject::invokeMethod
  • html+css+js网页设计 星享咖啡6个页面(带js) ui还原度90%
  • docker上传镜像至阿里云