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

企业如何在网站上做宣传wordpress移动站点

企业如何在网站上做宣传,wordpress移动站点,用dw做的十二星座网站免费,网页设计特色及创意题目链接 315. 计算右侧小于当前元素的 个数 - 力扣(LeetCode) 题目解析 计算数组里面所有元素右侧比它小的数的个数, 并且组成一个数组,进行返回 算法原理 归并解法(分治) 当前元素的后面, 有多少个比我小(降序) 我们要找到第一比左边小的元素, 这…

题目链接

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

题目解析

计算数组里面所有元素右侧比它小的数的个数, 并且组成一个数组,进行返回

算法原理

归并解法(分治)

当前元素的后面, 有多少个比我小(降序)

我们要找到第一比左边小的元素, 这样就可以找到一堆比左边小的元素: right - cur2+1

nums[cur1]对应的位置,里面的ret[原始下标]+=right-cur2+1

此时我们就需要找到数组原始的下标,然后把数记上

我们使用一个数组的每一个元素来一一对应记录nums每个元素的下标

然后在每一次归并排序,排完后,下标也跟着变

细节问题, 在创建辅助数组进行合并的时候, 需要创建俩个辅助数组, 一个给nums,一个给index,因为俩个数组是同步改变的

代码编写

class Solution {int[] ret;//记录结果int[] index; // 标记 nums 中当前元素的原始下标int[] tmpIndex;// 记录临时数组的值int[] tmpNums;//记录临时下标的值public List<Integer> countSmaller(int[] nums) {int n = nums.length;ret = new int[n];index = new int[n];tmpIndex = new int[n];tmpNums = new int[n];
// 初始化 index 数组for (int i = 0; i < n; i++)index[i] = i;mergeSort(nums, 0, n - 1);List<Integer> l = new ArrayList<Integer>();for (int x : ret)l.add(x);return l;}public void mergeSort(int[] nums, int left, int right) {if (left >= right) return;
// 1. 根据中间元素划分区间int mid = (left + right) / 2;
// [left, mid] [mid + 1, right]
// 2. 处理左右两个区间mergeSort(nums, left, mid);mergeSort(nums, mid + 1, right);
// 3. 处理⼀左⼀右的情况int cur1 = left, cur2 = mid + 1, i = 0;while (cur1 <= mid && cur2 <= right) // 降序排序{if (nums[cur1] <= nums[cur2]) {tmpNums[i] = nums[cur2];tmpIndex[i++] = index[cur2++];} else {ret[index[cur1]] += right - cur2 + 1; // 重点tmpNums[i] = nums[cur1];tmpIndex[i++] = index[cur1++];}}
// 4. 处理剩余的排序⼯作while (cur1 <= mid) {tmpNums[i] = nums[cur1];tmpIndex[i++] = index[cur1++];}while (cur2 <= right) {tmpNums[i] = nums[cur2];tmpIndex[i++] = index[cur2++];}for (int j = left; j <= right; j++) {nums[j] = tmpNums[j - left];index[j] = tmpIndex[j - left];}}
}

http://www.dtcms.com/a/453326.html

相关文章:

  • 13.排序(下)
  • 软考 系统架构设计师系列知识点之杂项集萃(171)
  • 医院网站优化策划网站这么做301
  • 后续:Github账户被标记流程记录
  • 网站建设的设立方式推广方案是什么
  • 鸿蒙NEXT跨设备通信:掌握URPC,实现远程程序调用
  • 传统纸媒公司网站建设需求容桂网站建设
  • python爬虫(四) ---- yaml文件配置简单日志
  • 免费网站专业建站班级网页设计图片
  • 网站建设与功能模块最好的淘宝网站建设
  • Flink 内置 Watermark 生成器单调递增与有界乱序怎么选?
  • 怎么下载网站备案号wordpress首页显示文章图片
  • 扩展云镜像磁盘空间案例:AlmaLinux 9 云镜像扩展
  • 招聘网站上找在家做seo最好的工具
  • 常用的网站建设技术软件开发工程师招聘简章pdf
  • ppt免费网站专门查企业信息的网站
  • 临时造参数查全量数据
  • 国产能谱仪设计与验证核心经验教训简化表
  • 0.6 卷积神经网络
  • 架设网站flash不显示深圳网站自然优化
  • C++ ros2 debug
  • 深入解析:Object.prototype.toString.call() 的工作原理与实战应用
  • 浙江建设网站公司广告点击一次多少钱
  • 图表全能王 (ChartStudio) 新增多种图表支持,助力数据可视化
  • 网页制作免费网站网页制作工作总结
  • java快速复习
  • Day 24 - 文件、目录与路径 - Python学习笔记
  • 第9讲:函数递归——用“套娃”思维解决复杂问题
  • 东莞网站竞价推广运营百度云虚拟主机如何建设网站
  • 权限管理混乱微服务安全架构:OAuth2.0+JWT无感刷新方案非法请求拦截率