前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >天池 在线编程 区间合并(字符串)

天池 在线编程 区间合并(字符串)

作者头像
Michael阿明
发布2021-09-06 10:39:44
3580
发布2021-09-06 10:39:44
举报
文章被收录于专栏:Michael阿明学习之路

1. 题目

描述 现在给你两个字符串区间(按字典顺序), 请你判断两个区间是否可以合并。

字符串区间[a, b),包括所有以a开头的字符串。

例如,区间[a, b)和区间[ab,c)是可以合并的, 区间[a,b)和区间[b, c]也是可以合并的。

若是可以合并请返回 true, 不可以请返回 false。

说明 若两个区间A和B,满足A U B是一个连续区间,则A和B可合并。

代码语言:javascript
复制
示例
样例1
输入:
"[a,b]" "[b,c]"
输出: 
true

样例2
输入:
"[a,b]" "(b,c]"
输出: 
true

样例3
输入:
"[a,b)" "(b,c]"
输出: 
false

样例4
输入:
"(b,c)" "[a,b]"
输出: 
true

2. 解题

注意:

代码语言:javascript
复制
"(a,ab]"
"[aba,c]"
返回 True
代码语言:javascript
复制
class Solution:
    """
    @param interval_A: a string represent a interval.
    @param interval_B: a string represent a interval.
    @return: if two intervals can merge return true, otherwise false.
    """
    def MergeJudge(self, interval_A, interval_B):
        # write your code here
        a1, a2 = interval_A[1:-1].split(',') # 去除区间符号
        b1, b2 = interval_B[1:-1].split(',')
        if a1 > b1: # 交换,小的区间在前
            interval_A, interval_B = interval_B, interval_A
            a1, b1 = b1, a1
            a2, b2 = b2, a2
        if a2 > b1: # 有交集
            return True
        elif b1.split(a2)==["","a"] and interval_A[-1]=="]" and interval_B[0]=='[':
            return True # 如上例子的情况 "(a,ab]" "[aba,c]"
        return a2==b1 and not (interval_A[-1]==")" and interval_B[0]=='(')
我的CSDN博客地址 https://michael.blog.csd
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 题目
  • 2. 解题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档