Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 动态规划方法还是一个失败的案例_Algorithm_Dynamic Programming_Greedy - Fatal编程技术网

Algorithm 动态规划方法还是一个失败的案例

Algorithm 动态规划方法还是一个失败的案例,algorithm,dynamic-programming,greedy,Algorithm,Dynamic Programming,Greedy,我有一个长度1的字符串,如果字符串的一端有一个数字,贪婪算法会给你正确的答案 如果字符串以问号开头和结尾,则第一个字符(0或1)有2个可能性,在这两种情况下运行贪婪算法并取最佳值 李考指出的错误答案: 贪婪是有效的,但是你必须从第一个问号开始,这个问号就在一个已知的数字之后。在我看来,它是简单的回溯。为什么要用贪婪或动态来复杂化它呢。如果你不知道它失败的测试用例,你怎么知道它失败了?生成一个“使贪婪失败”的测试用例难道不好吗需要知道使用的是哪种贪婪算法?@ScottHunter在提交在线判断时给

我有一个长度
1的字符串,如果字符串的一端有一个数字,贪婪算法会给你正确的答案

如果字符串以问号开头和结尾,则第一个字符(0或1)有2个可能性,在这两种情况下运行贪婪算法并取最佳值

李考指出的错误答案:


贪婪是有效的,但是你必须从第一个问号开始,这个问号就在一个已知的数字之后。

在我看来,它是简单的回溯。为什么要用贪婪或动态来复杂化它呢。

如果你不知道它失败的测试用例,你怎么知道它失败了?生成一个“使贪婪失败”的测试用例难道不好吗需要知道使用的是哪种贪婪算法?@ScottHunter在提交在线判断时给出了错误的答案,我已经有效地实现了我的贪婪解决方案,因此我确信它需要dp方法。我的贪婪方法是从左到右迭代,并在每个问号索引
k=2处放置最小有效k,?0???
使贪婪方法失败。试着去理解为什么。嗯,不完全是。我认为,为了最小化它,需要在已知数字前面(而不是后面)打第一个问号。但原理是一样的,完全正确。贪婪将完成这项工作,但您必须“旋转”字符串,以便从固定边界条件开始。否,确保它会及时失败。最坏情况下的字符串长度为100,其中包含“?”
input:
K = 4
string = ?????

output:
01012