Title

给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。

示例:

输入: [5,2,6,1]
输出: [2,1,1,0]

解释:
5 的右侧有 2 个更小的元素 (2 和 1).
2 的右侧仅有 1 个更小的元素 (1).
6 的右侧有 1 个更小的元素 (1).
1 的右侧有 0 个更小的元素.

二分插入排序

把输入数组反过来插入一个有序数组(降序)中,插入的位置就是在原数组中位于它右侧的元素的个数。

初始状态:

原数组为:[5,2,6,1]
排序数组:[]
结果数组:[]

第一轮:

原数组为:[5,2,6]
排序数组:[1]
插入的下标为 0,记入结果数组:[0]

第二轮:

原数组为:[5,2]
排序数组:[1,6]
插入的下标为 1,记入结果数组:[0,1]

第三轮:

原数组为:[5]
排序数组:[1,2,6]
插入的下标为 1,记入结果数组:[0,1,1]

第四轮:

原数组为:[]
排序数组:[1,2,5,6]
插入的下标为 2,记入结果数组:[0,1,1,2]

Code

class Solution:def countSmaller(self, nums: List[int]) -> List[int]:res, sortns = [], []for i in reversed(nums):idx = bisect.bisect_left(sortns, i)res.append(idx)sortns.insert(idx,i)return res[::-1]

315. Count of Smaller Numbers After Self 计算右侧小于当前元素的个数相关推荐

  1. LeetCode 315. 计算右侧小于当前元素的个数(Count of Smaller Numbers After Self)

    题目描述: 给定一个整数数组 nums,按要求返回一个新数组 counts.数组 counts 有该性质: counts[i] 的值是  nums[i] 右侧小于 nums[i] 的元素的数量. 示例 ...

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

    315. 计算右侧小于当前元素的个数 给定一个整数数组 nums,按要求返回一个新数组 counts.数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i ...

  3. leetcode315. 计算右侧小于当前元素的个数(树状数组解法)

    leetcode315. 计算右侧小于当前元素的个数(树状数组解法) 题目:给定一个整数数组 nums,按要求返回一个新数组 counts.数组 counts 有该性质: counts[i] 的值是 ...

  4. 当前元素_leetcode315. 计算右侧小于当前元素的个数

    leetcode315. 计算右侧小于当前元素的个数 给定一个整数数组 nums,按要求返回一个新数组 counts.数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小 ...

  5. LeetCode 315. 计算右侧小于当前元素的个数(二叉查找树二分查找归并排序逆序数总结)

    文章目录 1. 题目 2. 解题 2.1 二叉查找树 2.2 二分插入 2.3 归并排序 1. 题目 给定一个整数数组 nums,按要求返回一个新数组 counts.数组 counts 有该性质: c ...

  6. [Leetcode][第315题][JAVA][计算右侧小于当前元素的个数][暴力][归并排序+索引数组]

    [问题描述][中等] [解答思路] 1. 暴力 (超时) 时间复杂度:O(N^2) 空间复杂度:O(1) public List<Integer> countSmaller(int[] n ...

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

    目录 问题描述 问题分析 问题描述 问题分析 本题采用分治思想进行处理,单独处理较长数组算法复杂度过大,先拆分为短对象进行处理,最后将结果进行合并. 针对拆分出来的较短数组的处理: class Sol ...

  8. 求栈中元素个数算法_每日算法系列【LeetCode 315】计算右侧小于当前元素的个数...

    题目描述 给定一个整数数组 nums ,按要求返回一个新数组 counts .数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量. 示例 ...

  9. 315. Count of Smaller Numbers After Self

    文章目录 1 题目理解 2 暴力解法 3 分治法 1 题目理解 输入:int[] nums 输出:计数的数组int[] counts 规则:counts[i]表示nums中下标大于i,值小于nums[ ...

最新文章

  1. 卷进大厂系列之LeetCode刷题笔记:移除元素(简单)
  2. JavaScript学习笔记五:变量、作用域和内存问题
  3. Why I Love My Virtual PCs
  4. hdfs源码分析第一弹
  5. Go 定时器内部实现原理剖析
  6. php过滤提交数据 防止sql注入***(8)
  7. 【论文阅读】Graph Networks for Multiple Object Tracking
  8. 内部文件检索——公司经验管理系统的一种有效方法
  9. 【Linux】磁盘分区
  10. D3DXVec3TransformCoord 函数
  11. android系统证书管理,抓包Android 7.0+将ca证书导入到系统(设置为系统证书)
  12. ROBOGUIDE软件:FANUC机器人弧焊焊接起始点接触寻位虚拟仿真
  13. x,y,w,h与xmin,ymin,xmax,ymax的关系
  14. Unity2D入门(二):图层layer和角色建立
  15. Newtonsoft.Json.JsonSerializationException
  16. 美国国土安全部试图商业化的八种网络安全新技术
  17. 童年汇老师教你如何给宝宝选玩具
  18. docker学习——杂记
  19. 用PDF格式协议的方式给PDF文档添加透明文字水印
  20. Vue01 | el-autocomplete远程搜索下拉框并实现自动填充

热门文章

  1. 虚拟机安装CentOS,网络配置
  2. muse ui tabs背景颜色字体颜色
  3. CSS样式表——超链接样式
  4. vim 代码注释插件
  5. 敏捷开发用户故事系列之二:如何面向客户价值编写故事
  6. 提示JS错误:WebForm_PostBackOptions 未定义
  7. python数据库模糊查询_原创:Python编写通讯录,支持模糊查询,利用数据库存储...
  8. 7-27 御膳房 (5 分)
  9. 实验7.2 二维数组 7-8 螺旋方阵
  10. 隐私设置错误您的连接不是私密连接_用小米手机的,赶紧将这些保护个人隐私的功能设置起来,安全好用...