Função de intersecção de intervalos, como fazer?
06/07/2020
0
Olá, eu gostaria de saber se alguem tem alguma ideia de como eu posso fazer uma função que me diga de dois intervalos então se interseccionando. Os argumentos são: inicio de A e fim de A, inicio de B e fim de B. Exemplo: (2, 5, 3, 4) retorna TRUE, (1,2,3,4) retorna FALSE. Pode ser em qualquer linguagem, mas eu to usando PHP. Muito obrigado desde já.
Sérgio Avilla
Curtir tópico
+ 0
Responder
Posts
11/07/2020
Sérgio Avilla
Olá, eu gostaria de saber se alguem tem alguma ideia de como eu posso fazer uma função que me diga de dois intervalos então se interseccionando. Os argumentos são: inicio de A e fim de A, inicio de B e fim de B. Exemplo: (2, 5, 3, 4) retorna TRUE, (1,2,3,4) retorna FALSE. Pode ser em qualquer linguagem, mas eu to usando PHP. Muito obrigado desde já.
Eu fiz assim:
function intersec($ini_a, $end_a, $ini_b, $end_b) { if ($ini_a == $ini_b or $end_b == $end_a or $ini_a == $end_b or $ini_b == $end_a) { return true; } $ini_a = intval($ini_a); $ini_b = intval($ini_b); $end_a = intval($end_a); $end_b = intval($end_b); $arr = [$ini_a, $end_a, $ini_b, $end_b]; arsort($arr); return (array_keys($arr)[0]-array_keys($arr)[1]) > 1; }
Responder
Clique aqui para fazer login e interagir na Comunidade :)