美文网首页【python公司校招题】
【python迅雷】合并区间?

【python迅雷】合并区间?

作者: 阿牛02 | 来源:发表于2019-08-07 17:18 被阅读0次

题目:用x,y表示一个整数范围区间,现在输入一组这样的范围区间(用空格隔开),请输出这些区间的合并。

输出描述:  合并后的区间,用过空格隔开,行末无空格。

code:

def merge(intervals):

    """

    合并区间算法。

    :param intervals: 传入的区间数组。例如[[1, 3], [2, 5]]

    :return: 合并后的区间。例如[[1, 5]]

    """

    out = []

    for i in sorted(intervals, key=lambda i: i[0]):  # 对区间进行排序

        if out and i[0] <= out[-1][1]:  # 当前区间起始位置小于out最后一个元素的结束位置,这时就要进行合并

            out[-1][1] = max(out[-1][1], i[1])  # 合并区间。区间的结束位置 = max(当前遍历区间的结束位置,out最后一个区间的结束位置)

        else:

            out.append(i)  # 不需要合并时的处理。

    return out

# 将输入的字符串转换成区间形式放到intervals数组中。

intervals = []

for i in input().split():  # 切成"1,3"、"2,5"这种形式

    start, end = i.split(",")

    intervals.append([int(start), int(end)])

#

## 调用合并区间算法

out = merge(intervals)

# 输出处理。

res = ""

for i in out:

    res = res + str(i[0]) + "," + str(i[1]) + " "

print(res.rstrip(";"))

相关文章

  • 【python迅雷】合并区间?

    题目:用x,y表示一个整数范围区间,现在输入一组这样的范围区间(用空格隔开),请输出这些区间的合并。 输出描述: ...

  • Python小白 Leetcode刷题历程 No.56-N

    Python小白 Leetcode刷题历程 No.56-No.60 合并区间、插入区间、最后一个单词的...

  • 56、合并区间 (Merge Intervals)

    给出一个区间的集合,请合并所有重叠的区间。 示例 1: 示例 2: java python

  • 把相邻的连续整数合并成一个区间

    用python把相邻的连续整数合并成一个区间 结果:

  • 区间合并算法

    0X00 区间合并 803. 区间合并 57. 插入区间

  • 56. 合并区间(Python)

    更多精彩内容,请关注【力扣中等题】。 题目 难度:★★★☆☆类型:数组方法:排序 给出一个区间的集合,请合并所有重...

  • LeetCode 56 [Merge Intervals]

    原题 给出若干闭合区间,合并所有重叠的部分。 样例给出的区间列表 => 合并后的区间列表: 解题思路 首先,把区间...

  • 2018-12-26

    问题列表 合并两个有序链表 合并K个排序链表 合并区间 插入区间 问题与反馈 总结与收获 多个有序链表的合并,类似...

  • 命令lines

    HBQJ 【合并区间】可以选取两个相邻的尺寸区间进行合并,也可以选择间隔几个区间的两个区间以将两个区间及其中间的所...

  • LeetCode 56 合并区间

    56. 合并区间 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,...

网友评论

    本文标题:【python迅雷】合并区间?

    本文链接:https://www.haomeiwen.com/subject/nfradctx.html