当前位置: 首页 > 知识库问答 >
问题:

为什么我不能通过LeetCode练习139?

屈宏爽
2023-03-14

我正在看这个leetcode挑战:

js prettyprint-override">var wordBreak = function(s, wordDict) {
  const memo = new Map();
  const wordSet = new Set(wordDict);

  function toMemo(s) {
    if (memo.has(s)) return memo.get(s);
    if (wordSet.has(s)) {
      memo.set(s, true);
      return true
    }

    for (let i = 1; i < s.length; i++) {
      let leftStr = s.substr(0, i);
      let rightStr = s.substr(i);
      if (toMemo(leftStr) && wordSet.has(rightStr)) {
        memo.set(s, true)
        return true;
      }
    }
    memo.set(s, true)
    return false;
  }
  return toMemo(s);
};

我的代码不能通过以下测试用例:

您的输入:

"aaaaaaa"
["aaaa","aa"]

输出:true
预期:false

共有1个答案

公良理
2023-03-14

代码中唯一的错误是返回false的地方。在这种情况下,您不应该这样做:

memo.set(s, true)
return false;

但是:

memo.set(s, false);
return false;
 类似资料:
  • 我了解在lambda中捕获此(修改对象属性)的正确方法如下: 但我对我所看到的以下特点感到好奇: 我感到困惑(并希望得到回答)的奇怪之处在于,为什么以下方法有效: 以及为什么我无法通过引用明确捕获此内容:

  • 问题的链接:https://leetcode.com/problems/coin-change/ 我的代码无法通过LeetCode的某些测试用例: 对于第二个测试用例,它应该返回20,但现在它是-1。我不知道为什么我的代码可以在第一个测试用例上工作,但不能在第二个测试用例上工作<谢谢

  • 问题内容: 我无法通过Java API连接到原始ElasticSearch集群。 复制: 结果: 结果: 因此,一切都可以通过HTTP运行。通过Java尝试(每个页面): 我得到以下堆栈跟踪: 与最接近的事我发现,到目前为止,这个问题是在这里,但线程落后了,但未得到解决。 问题答案: TransportClient的默认端口为9300。您必须在Java代码中使用它而不是9200。这可能是连接失败的

  • 我可以使用SQLDeveloper连接到远程数据库。 我试图从命令行使用sqlcl连接到同一个数据库,但我收到一个错误。 下面是我正在运行的命令: 我也尝试过: 以下是我收到的错误: 同样在SQLDeveloper中,我只是在“自定义jdbc url”下输入以下内容,它连接没有任何问题,所以我希望我可以使用相同的URL通过命令行连接,但到目前为止,它不起作用:

  • 我想通过数组映射,但我得到一个错误:TypeError: locationAddress.map不是一个函数 我是新来的反应和反应钩。我一直试图简化数组,但运气不好。知道为什么这不起作用吗? 编辑:到目前为止,我尝试了答案中的所有更改,但错误仍然存在。我包括了更多的代码和包。json文件。我尝试停用一些函数,如useEffect,现在只有在我尝试键入要映射的输入字段时才会显示错误。 找到解决方案:

  • 我无法通过Java API连接到vanilla ElasticSearch集群。 复制: 我得到以下堆栈跟踪: 到目前为止,我发现的最接近这个问题的东西是这里,但线程拖尾没有解决。