首页 > 试题广场 >

合并区间

[编程题]合并区间
  • 热度指数:5073 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 128M,其他语言256M
  • 算法知识视频讲解
用x,y表示一个整数范围区间,现在输入一组这样的范围区间(用空格隔开),请输出这些区间的合并。

输入描述:
一行整数,多个区间用空格隔开。区间的逗号是英文字符。


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

输入

1,3 2,5

输出

1,5
示例2

输入

1,3 2,5 8,10 11,15

输出

1,5 8,10 11,15

备注:
x,y均为正整数,并且x<=y。
头像 Libra-LK
发表于 2022-04-05 18:20:31
import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); List&l 展开全文
头像 王清楚
发表于 2020-09-18 14:18:32
先把区间按区间的起始位置从小到大排序,然后从前往后看一遍,如果下一个区间的开始比前一个区间的末尾要小。那么这两个区间就可以合并。 #include<iostream> #include<algorithm> using namespace std; const int M 展开全文
头像 有pp才有真相
发表于 2022-02-17 11:32:49
1 老朋友 C/c++/java实现 主要是梳理思路,关键排序提出 2 #include <iostream> #include <vector> #include <algorithm> using namespace std; int main( ) 展开全文
头像 卖萌的蚊不叮等一个offer
发表于 2024-05-09 20:39:31
intervals = input().split() intervals = [i.split(',') for i in intervals] intervals_post = [[int(j) for j in i] for i in intervals] intervals_post.s 展开全文
头像 别踩我尾巴
发表于 2025-09-17 16:45:34
# 输入 保存为一对对的 列表存储 interval = [list(map(int,item.split(','))) for item in input().split()] # 按初始节点排序,即每个列表元素的第一项 interval.sort(key=lambda x:x[0]) # 初始化 展开全文
头像 牛客211371032号
发表于 2024-12-01 16:57:19
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { //首先将输入的区间全部接收到集合里面 展开全文
头像 langyuziyou
发表于 2023-03-20 14:10:32
import java.util.Scanner; import java.util.*; import java.util.stream.Collectors; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public 展开全文
头像 季风之隐
发表于 2025-04-28 09:56:44
import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class 展开全文
头像 牛客694901723号
发表于 2022-12-07 20:08:55
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (awai 展开全文
头像 bandiaoz
发表于 2024-12-20 15:57:28
解题思路 这是一个区间合并问题,需要将重叠的区间合并成一个区间 解题步骤: 将输入的区间按照起始位置排序 遍历排序后的区间,判断相邻区间是否重叠 如果重叠,则更新当前区间的结束位置 如果不重叠,则将当前区间加入结果集 最后输出所有合并后的区间 代码 cpp java pyth 展开全文