我已经编写了一个代码,它通过在连续整数的区间列表中计算给定数字所在的区间数之和来模拟彩票。由于这可以被描述为一个“分而治之”的算法,我想知道是否有可能为它画一个递归的解决方案
def lottery_sort(segments, bets):
segments = [(segments[2*i], segments[2*i + 1])
for i in range(len(segments) // 2)]
s_open = [i[0] for i in segments]
s_open.sort()
s_close = [i[1] for i in segments]
s_close.sort()
bets = sorted([bet for bet in bets])
res = []
count = 0
o = 0
c = 0
size = len(segments)
for bet in bets:
while o < size and s_open[o] <= bet:
o += 1
count += 1
while c < size and s_close[c] < bet:
c += 1
count -= 1
res.append(count)
return res
目前没有回答
相关问题 更多 >
编程相关推荐