连续区间重合判断

作者: simpleX | 来源:发表于2019-08-16 09:34 被阅读0次

场景

用户输入若干个区间范围[X1,Y1],[X2,Y2],[X3,Y3],[Xn,Yn]...,其中X1-Xn,Y1-Yn均为任意数字且前者小于后者(X1<Y1...).

例如:[-1,1.1],[1.1,15],[19,22] 不存在重合区间.[1,11],[11,15],[14,22] 则存在重合区间.

思路

1.将所有的点落在同一条轴上,排序(有可能点会重复覆盖)

2.统计坐标轴上的点出现在某个范围的次数,可能为(0,1,2),0表示所有的点都被覆盖,1表示被覆盖一个,2表示没有被覆盖

3.对排好序的坐标轴进行遍历比较

4.这里查找次数为2的点进行比较,如果为2则表示下一个坐标点必为某个范围的最大值,否则就是有区间重合

用PHP实现代码如下:

<?php
function checkRange($list)
        {
            $range = [];
            foreach ($list as $key => $value) {
                $range["{$value[0]}"] = $key;
                $range["{$value[1]}"] = $key;
            }

            ksort($range);
            $count = array_count_values($range);
            $len = count($range);
    
            for ($i = 0; $i < $len; $i++) {
                $value = current($range);
                if ($count[$value] == 2) {
                    next($range);
                    $next_key = key($range);
                    if ($list[$value][1] != $next_key) {
                        return false;
                    }
                    $i++;
                }
                next($range);
            }
            return true;
        }

$list = [[-1,2.5],[3.5,9],[9,10.1],[10.1,12.1],[12,34],[56,777],[777,999]];
var_dump(checkRange($list)); //bool(false)

以上就是实现的全过程,有问题欢迎指正.不连续区间重合判断

相关文章

  • 连续区间重合判断

    场景 用户输入若干个区间范围[X1,Y1],[X2,Y2],[X3,Y3],[Xn,Yn]...,其中X1-Xn,...

  • 不连续区间重合判断

    场景 用户输入若干个区间范围[X1,Y1],[X2,Y2],[X3,Y3],[Xn,Yn]...,其中X1-Xn,...

  • 区间重合算法:多个时间段重合判断

    Talk is cheap, show you the code

  • 剑指 Offer II 074. 合并区间

    排序。然后重合的区间进行合并

  • 最多区间重合问题

    题目 平面上有若干水平线段,现有一竖直直线扫描该平面,找到一个区间,使得该区间内与直线相交的线段最多。 分析 把线...

  • go ip操作

    判断IP是否在区间内

  • 567. Permutation in String

    判断字符串s2的连续子串是否包含s1的排列。 双指针,保证count值不为正的情况下,判断是否存在一个区间,使得长...

  • 连续子区间和

    小M给你一串含有c个正整数的数组, 想让你帮忙求出有多少个下标的连续区间, 它们的和大于等于x。输入3 62 4 ...

  • 连续子区间和

    小M给你一串含有c个正整数的数组, 想让你帮忙求出有多少个下标的连续区间, 它们的和大于等于x。 输入描述:第一行...

  • 连续不等式判断

    一、基础 对于一个区间的判断是十分常见的需求,比如需要判断a是否在区间[1,9]中。正确的判断方式是 这里容易出现...

网友评论

    本文标题:连续区间重合判断

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