File tree Expand file tree Collapse file tree 1 file changed +20
-1
lines changed Expand file tree Collapse file tree 1 file changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -138,7 +138,9 @@ public int[] smallerNumbersThanCurrent(int[] nums) {
138
138
139
139
### Python:
140
140
141
- ``` python
141
+ > (版本一)使用字典
142
+
143
+ ```python3
142
144
class Solution :
143
145
def smallerNumbersThanCurrent(self, nums: List[ int] ) -> List[ int] :
144
146
res = nums[ :]
@@ -152,6 +154,23 @@ class Solution:
152
154
return res
153
155
```
154
156
157
+ > (版本二)使用数组
158
+
159
+ ```python3
160
+ class Solution:
161
+ def smallerNumbersThanCurrent(self, nums: List[int]) -> List[int]:
162
+ # 同步进行排序和创建新数组的操作,这样可以减少一次冗余的数组复制操作,以减少一次O(n) 的复制时间开销
163
+ sort_nums = sorted(nums)
164
+ # 题意中 0 <= nums[i] <= 100,故range的参数设为101
165
+ hash_lst = [0 for _ in range(101)]
166
+ # 从后向前遍历,这样hash里存放的就是相同元素最左面的数值和下标了
167
+ for i in range(len(sort_nums)-1,-1,-1):
168
+ hash_lst[sort_nums[i]] = i
169
+ for i in range(len(nums)):
170
+ nums[i] = hash_lst[nums[i]]
171
+ return nums
172
+ ```
173
+
155
174
### Go:
156
175
157
176
``` go
You can’t perform that action at this time.
0 commit comments