我开始在leetcode上解决问题,这个问题没有通过测试用例,这是我的尝试:
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;
}
请问可以解释一下我在这里犯了什么错误吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这应该可以工作,尝试一下这个(它就像其中一种排序算法)。这很奇怪,因为唯一的区别是
$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; }在for循环中,$j和$i指针的初始化完成了工作
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; }