Arraybereiche Überschneidung feststellen

  • Angenommen ich habe ein Array

    Anfang(1) = 12:00:00 Uhr
    Ende(1) = 13:00:00 Uhr

    Anfang(2) = 14:30:00 Uhr
    Ende (2) = 14:45:00 Uhr

    Anfang(3) = 12:15:00 Uhr
    Ende (3) = 13:30:00 Uhr

    wie kann ich feststellen ob sich Zeiten überschneiden. In diesem Fall wäre dies Array (1) und Array (3).

    Danke

    • Offizieller Beitrag

    Das kannst du so machen:

    [autoit]

    Local $array[3][2] = [ _
    ['12:00:00','13:00:00'], _
    ['14:30:00','14:45:00'], _
    ['12:15:00','13:30:00']]

    [/autoit][autoit][/autoit][autoit]

    $aCopy = $array
    For $i = 0 To UBound($array) -1
    For $j = 0 To UBound($aCopy) -1
    If $i = $j Then ContinueLoop
    If $array[$i][0] > $aCopy[$j][0] And $array[$i][0] < $aCopy[$j][1] Then _
    ConsoleWrite($array[$i][0] & '-' & $array[$i][1] & @CRLF & _
    $aCopy[$j][0] & '-' & $aCopy[$j][1] & @CRLF)
    Next
    Next

    [/autoit]