putaran tatasusunan php
P粉043295337
P粉043295337 2023-09-03 14:08:19
0
1
592
<p>Daripada dua tatasusunan integer ini, bagaimanakah saya boleh menentukan sama ada tatasusunan kedua ialah versi pusingan tatasusunan pertama dan fungsi php yang manakah diperlukan? </p> <p>Contoh: Tatasusunan asal A=[1,2,3,4,5,6,7,8] Putar tatasusunan B=[6,7,8,1,2,3,4,5]</p> <p>Dalam contoh ini, semua nombor dalam tatasusunan A diputar 5 kedudukan ke kanan. </p>
P粉043295337
P粉043295337

membalas semua(1)
P粉111627787

Tiada fungsi terbina dalam, tetapi anda boleh memutar setiap kedudukan dan membandingkan jika ia betul.

$isRotated = function (array $original, array $maybeRotated): bool {
    $originalCount     = count($original);
    $maybeRotatedCount = count($maybeRotated);
    if ($originalCount !== $maybeRotatedCount || $original === $maybeRotated) {
        return false;
    }

    for ($i = 0; $i < $originalCount; $i++) {
        $original[] = array_shift($original);
        if ($original === $maybeRotated) {
            return true;
        }
    }

    return false;
};

echo $isRotated([1, 2, 3, 4, 5, 6, 7, 8], [6, 7, 8, 1, 2, 3, 4, 5]) ? 'true' : 'false', PHP_EOL;
echo $isRotated([1, 2, 3, 4, 5, 6, 7, 8], [1, 2, 3, 4, 5, 6, 7, 8]) ? 'true' : 'false', PHP_EOL;
echo $isRotated([1, 2, 3, 4, 5, 6, 7, 8], [2, 3, 4, 5, 6, 7, 8, 1]) ? 'true' : 'false', PHP_EOL;

Output

true
false
true
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan