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

招标网址网站大全哈尔滨网络推广优化

招标网址网站大全,哈尔滨网络推广优化,广告设计培训软件,网站的电子地图怎么做题目链接 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/wzjs/388797.html

相关文章:

  • 网站点赞怎么做免费友情链接平台
  • 动态网站开发环境搜索引擎推广的费用
  • 网站优化入门搜索引擎优化到底是优化什么
  • erp系统可以自学吗seo优化论坛
  • 三水网站建设公司网站百度收录秒收方法
  • 深圳创意网站设计114外链
  • 我是做网站的 哪里有单接建设网站的十个步骤
  • 设置网站默认编码万江专业网站快速排名
  • 网站降权怎么救网店推广实训报告
  • 网站好坏建站教程
  • 域名交易网站广州:推动优化防控措施落地
  • 结构设计在哪个网站接单兼职做长沙网站优化排名推广
  • 免费给别人做任务的网站网络推广渠道和方法
  • 源码站用dz wordpress十句经典广告语
  • 台州做网站联系方式汕头网络营销公司
  • 武汉找工作上什么网站2023年8月新冠
  • 百度网站如何建设微博营销成功案例8个
  • 怎么什么软件可以吧做网站深圳网络推广seo软件
  • 高端网站制造广告免费发布信息
  • 目前中国最好的网购平台百度关键词优化推广
  • 教育培训机构怎么建设网站域名注册管理机构
  • 郴州网站建设维护域名注册需要多少钱?
  • 公司网站开发工具cpa广告联盟
  • 如何发布网页杭州seo全网营销
  • 湖南做网站 地址磐石网络深圳华强北最新消息
  • 化妆品网站的设计与实现互联网推广有哪些方式
  • 网站服务器带宽多少合适百度网页翻译
  • 北京营销型网站建设价格阿里云域名购买
  • 网站建设如何加入字体百度快照在哪里
  • 软件 网站模板幽默广告软文案例