我正在制作算法,检查第一个单词中是否存在来自第二个单词的字母。例如:[“hello”,“hey”]应返回false,[“hello”,“Ello”]应返回true。 这是我的代码:
function mutation(arr) {
var array = arr[0].toLowerCase();
var word_temp = arr[1].toLowerCase();
var word = word_temp.split("");
var l = word_temp.length;
var number = 0;
for (i = 0; i == l; i++) {
if (array.indexOf(word[i]) > -1) {
number++;
}
}
if (number == l) {
return true;
} else {
return false;
}
}
mutation(["zyxwvutsrqponmlkjihgfedcba", "qrstu"]);
我不知道为什么,但它没有向变量number
添加任何内容。我不想要完整算法的解决方案。我只想知道为什么变量number
仍然等于零。
谢谢大家的时间:))
答案 0 :(得分:0)
你的for循环错了。它应该是:
for (i = 0; i < l; i++) {
//Code
}
答案 1 :(得分:0)
您的代码不必要复杂。你可以这样。
function mutation(arr) {
return (arr[0].toLowerCase().indexOf(arr[1].toLowerCase())>=0);
}
console.log(mutation(["zyxwvutsrqponmlkjihgfedcba", "qrstu"]));
答案 2 :(得分:0)
For
循环:
如果condition的值为true,则执行循环语句。如果condition的值为false,则for循环终止。
您的陈述从一开始就是false
。只需将i == l
更改为i < l
即可。
答案 3 :(得分:0)
import urllib2
from bs4 import BeautifulSoup
response = urllib2.urlopen('http://www.thehindu.com/sci-tech/science/iit-bombay-birds-eye-view-and-quantum-biology/article18191268.ece'
)
html = response.read()
soup = BeautifulSoup(html, 'html.parser')
ut_container = soup.find("div", {"class": "ut-container"})
time = ut_container.find("none").text.strip()
print(time)
答案 4 :(得分:0)
问题解决了。 我修复了我的for循环并缩短了代码。然后我也尝试了包含更容易的解决方案。 非常感谢你们!