我对递归函数有问题。它总是返回 false,即使它是真的。
我有以下带有名称的数组:
const tableaux = ["Nico","Luc","Paul","Jean","Samy",
"Domi","Cricri","André","Valérie","Mouss","Léon",
"Lionnel","Jacques","Marie","Vanessa","Mohammed","Fatou"];
下面是我的函数:
tableaux.sort();
const binarySearch = (array, nameToFind, start, end) => {
if(start > end) {
return false;
}
let mid = Math.floor((start + end) / 2);
if(mid === nameToFind) {
return true;
}
if(nameToFind < tableaux[mid]) {
return binarySearch(array, nameToFind, start, mid - 1);
} else {
return binarySearch(array, nameToFind, mid + 1, end);
}
}
然后当我使用数组中的名称时,它仍然返回 false :
let test = binarySearch(tableaux, 'Marie', 1, 17);
console.log(test);
您正在执行以下操作:
let mid = Math.floor((start + end) / 2);
if (mid === nameToFind) {
return true;
}
在这种情况下,您为 mid
分配一个数字(您要查找的索引),然后将其直接与 nameToFind
进行比较。您只需要与索引中间
的项目进行比较:
let mid = Math.floor((start + end) / 2);
if (array[mid] === nameToFind) {
return true;
}
问题内容: 我已经写了这段简单的代码: 在我的情况当属。谁能建议/建议出什么问题了? 问题答案: 错误检查和处理是程序员的朋友。检查初始化和执行cURL函数的返回值。并在失败的情况下包含更多信息: *在 手动状态: 成功返回cURL句柄,错误返回 FALSE 。 我观察到该函数在您使用其参数且无法解析域时会返回。如果未使用该参数,则该函数 可能 永远不会返回。但是,请务必始终进行检查,因为该手册并
我目前正在编码一个二叉查找树,目前正在尝试实现一个递归函数来确定二叉树中是否存在一个节点。 这是节点类: 所讨论的函数是Exists函数。这是在BST的根节点上调用的,就像这样:
问题内容: 我有一个发出AJAX调用的功能(通过jQuery)。在本节中,我有一个函数说: 但是,如果我这样称呼它: 第一个永远不会被调用。 如果将an 放入函数中,则为true,但在该函数返回之前不会为true 。 可以将回调函数传递给我的方法吗?喜欢: 问题答案: 是一个 回调 函数。它将由Ajax对象调用-异步!-操作完成时。您无法捕捉回调的结果,只有Ajax对象可以做到这一点。 您的函数-
我想检查模型是否已更改isDirty方法,但总是返回false。 这是我的代码:
为什么运行应用程序时返回false? 我使用它来控制日志,如下所示:
问题内容: 我有一些Python代码基本上看起来像这样: 奇怪的是: print(my_list) 打印出正确的内容。但是,第二个打印该函数返回值的打印语句始终打印“无”。即使我用 return(“ abc”) 替换普通的return语句,它仍然是None。 由于该变量的内容似乎在return语句前一行是正确的,所以我不知道从哪里开始调试。是否有可能导致此问题的常见问题? 问题答案: 这是发生了什