LeetCode 1365. 有多少小于当前数字的数字

解题思路

先排序,后计数。

nums = [8,1,2,2,3]
//键是a[i],值是比a[i]小的数的个数。
Map<Integer,Integer> hash = new HashMap<>();
a = [1,2,2,3,8] 
int i=0;
i指向0时,比a[i]小的个数一定是0   hash.put(a[i],0);
i指向1时,比a[i]小的个数是1   hash.put(a[i],i);
i指向2时,又a[i]=a[i-1],则比a[i]小的个数是hash.get(a[i-1])   hash.put(a[i],hash.get(a[i-1]));
i指向3时,比a[i]小的个数是3   hash,put(a[i],i);

然后又遍历一遍nums数组
最终答案是[4,0,1,1,3]

相关代码

class Solution {
    public int[] smallerNumbersThanCurrent(int[] nums) {
        int a[] = new int[nums.length];
        for(int i=0;i<a.length;i++) a[i] = nums[i];
        Arrays.sort(a);
        Map<Integer,Integer> hash = new HashMap<>();
        hash.put(a[0],0);
        for(int i=1;i<a.length;i++)
            if(a[i]==a[i-1])hash.put(a[i],hash.get(a[i-1]));
            else hash.put(a[i],i);
        int t[] = new int[nums.length];
        for(int i=0;i<t.length;i++) t[i] = hash.get(nums[i]);
        return t;
    }
}

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-06 16:22:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-06 16:22:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-06 16:22:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-06 16:22:03       20 阅读

热门阅读

  1. 位运算-力扣67. 二进制求和

    2024-04-06 16:22:03       14 阅读
  2. Linux查看日志的几种方法

    2024-04-06 16:22:03       16 阅读
  3. Python数据分析十六

    2024-04-06 16:22:03       15 阅读
  4. 【NS-3学习(三)】可视化NetAnim使用笔记

    2024-04-06 16:22:03       17 阅读
  5. 数据结构与算法实验9-图的应用(最短路径)

    2024-04-06 16:22:03       13 阅读
  6. [LeetCode][LCR190]加密运算——全加器的实现

    2024-04-06 16:22:03       22 阅读
  7. Spark面试整理-如何在Spark中优化分区?

    2024-04-06 16:22:03       24 阅读