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
  • 相关阅读:
    第08组 Alpha冲刺(1/4)
    第08组 团队Git现场编程实战
    第二次结对编程作业
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
    第一次个人编程作业
    第一次实践作业
    互联网协议学习笔记
    【选修建模的小练习】长方形椅子的稳定性探究
  • 原文地址:https://www.cnblogs.com/seyjs/p/12416322.html
Copyright © 2011-2022 走看看