zoukankan      html  css  js  c++  java
  • 【leetcode】1365. How Many Numbers Are Smaller Than the Current Number

    题目如下:

    Given the array nums, for each nums[i] find out how many numbers in the array are smaller than it. That is, for each nums[i] you have to count the number of valid j's such that j != i and nums[j] < nums[i].

    Return the answer in an array.

    Example 1:

    Input: nums = [8,1,2,2,3]
    Output: [4,0,1,1,3]
    Explanation: 
    For nums[0]=8 there exist four smaller numbers than it (1, 2, 2 and 3). 
    For nums[1]=1 does not exist any smaller number than it.
    For nums[2]=2 there exist one smaller number than it (1). 
    For nums[3]=2 there exist one smaller number than it (1). 
    For nums[4]=3 there exist three smaller numbers than it (1, 2 and 2).
    

    Example 2:

    Input: nums = [6,5,4,8]
    Output: [2,1,0,3]
    

    Example 3:

    Input: nums = [7,7,7,7]
    Output: [0,0,0,0] 

    Constraints:

    • 2 <= nums.length <= 500
    • 0 <= nums[i] <= 100

    解题思路:排序后用二分查找定位每个元素所在的位置,即可求出比自己小的数字的数量。

    代码如下:

    class Solution(object):
        def smallerNumbersThanCurrent(self, nums):
            """
            :type nums: List[int]
            :rtype: List[int]
            """
            sort_nums = sorted(nums)
            import bisect
            res = []
            for num in nums:
                inx = bisect.bisect_left(sort_nums,num)
                res.append(inx)
            return res
  • 相关阅读:
    练习:使用nmcli 配置网络连接
    编辑网络配置文件
    ETCD安装
    LInux部署本地DNSbind9
    Linux 修改tomcat9相关参数优化
    Linux-编写SHELL 加密解密方法
    Jenkins的安装部署
    lepus 配置监控Mysql+Redis+Mongodb服务器
    lepus部署
    prometheus + grafana 安装 监控 redis mysql mongodb Linux服务器
  • 原文地址:https://www.cnblogs.com/seyjs/p/12416322.html
Copyright © 2011-2022 走看看