Отсутствие выхода плагина gcovr в Jenkins

это решение работает так долго, что интервалы упорядочиваются по начальной точке и не требуют создания списка с большим диапазоном.

code

with open("0.txt") as f:
    t=[x.rstrip("\n").split("\t") for x in f.readlines()]
    intervals=[(int(x[0]),int(x[1])) for x in t]

def find_ints(intervals, mn, mx):
    next_start = mn
    for x in intervals:
        if next_start < x[0]:
            yield next_start,x[0]
            next_start = x[1]
        elif next_start < x[1]:
            next_start = x[1]
    if next_start < mx:
        yield next_start, mx

print list(find_ints(intervals, 0, 200))

output :

(в примере, который вы указали)

[(0, 1), (8, 9), (12, 20), (30, 200)]
0
задан HalfBloodPrince7 13 July 2018 в 04:42
поделиться