Vérifiez s'il y a un élément dans le tableau qui est deux fois N égal à M
P粉663883862
P粉663883862 2023-09-11 13:15:10
0
2
422

J'ai commencé à résoudre le problème sur leetcode et ce problème n'a pas réussi le scénario de test, voici ma tentative :

function checkIfExist($arr) { $i = 0; $j = 0; $n = count($arr); // 循环遍历数组 for($i; $i < $n; $i++) { for($j; $j < $n; $j++) { // 检查元素i和j是否不相同且N*2 = M if ($i != $j && $arr[$i] * 2 == $arr[$j]) { return true; } } } return false; }

Pouvez-vous s'il vous plaît expliquer quelle erreur j'ai commise ici ?

P粉663883862
P粉663883862

répondre à tous (2)
P粉116654495

Cela devrait fonctionner, essayez ceci (c'est comme un de ces algorithmes de tri). C'est étrange car la seule différence est l'initialisation de$i$j.

function checkIfExist($arr) { $n = count($arr); // 遍历数组 for($i = 0; $i < $n - 1; $i++) { for($j = $i + 1; $j < $n; $j++) { // 检查i和j的元素是否不相同且N*2 = M if ($i != $j && $arr[$i] * 2 == $arr[$j]) { return true; } } } return false; }
    P粉323050780

    Dans la boucle for, l'initialisation des pointeurs $j et $i fait le travail

    function checkIfExist($arr) { $n = count($arr); // 循环遍历数组 for($i = 0; $i < $n; $i++) { for($j = 0; $j < $n; $j++) { // 检查i和j元素是否不相同且N*2 = M if ($i != $j && $arr[$i] * 2 == $arr[$j]) { return true; } } } return false; }
      Derniers téléchargements
      Plus>
      effets Web
      Code source du site Web
      Matériel du site Web
      Modèle frontal
      À propos de nous Clause de non-responsabilité Sitemap
      Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!