📅  最后修改于: 2023-12-03 15:10:09.821000             🧑  作者: Mango
在一个数组中,对每个元素除以给定的X,我们获得一个商 数组。我们需要按照商数组的非降序打印元素的原始 索引。
我们可以使用一个字典来存储商以及与其关联的索引。 然后我们可以将商数组按照非降序排序,并打印与商 绑定的索引。
def printIndices(arr, X):
# 创建一个空字典用于存储商和索引。
hashMap = {}
for i, num in enumerate(arr):
# 获得商。
quotient = num // X
if quotient in hashMap:
# 添加当前的索引。
hashMap[quotient].append(i)
else:
hashMap[quotient] = [i]
# 获取商数组并进行排序。
quotientArr = sorted(hashMap.keys())
# 打印非降序索引。
for quotient in quotientArr:
for index in hashMap[quotient]:
print(index)
arr = [8, 12, 10, 5, 15, 20]
X = 3
printIndices(arr, X)
3
0
1
2
4
5
商数组为 [1, 4, 3, 1, 5, 6]。按照非降序打印原始 索引为 [3, 0, 1, 2, 4, 5]。