import copy
import math
from typing import List
# 使用字典法classSolution:defsmallerNumbersThanCurrent(self, nums: List[int])-> List[int]:
res =[]
new_nums =sorted(nums)# sorted(new_nums) # 创造了一个新数组# new_nums.sort() # 将之前的数组进行调整了,还是原理数组
nums_dict ={}
cache =0# 记录重复的数据
last_value =-math.inf
for i inrange(len(new_nums)):if last_value == new_nums[i]:
cache +=1
nums_dict[new_nums[i]]= i - cache
else:
cache =0
nums_dict[new_nums[i]]= i
last_value = new_nums[i]for n in nums:
res.append(nums_dict[n])return res
if __name__ =="__main__":
s = Solution()
a = s.smallerNumbersThanCurrent([7,7,7,7,7])print(a)