javascript - 在填字游戏中查找另一个字符串中的字符串旋转
问题描述
假设我有一个简单的字符串,例如hello
,我需要检查它是否包含在另一个字符串中,例如
one two three\n
abcdefghieklm\n
hello world. \n
qwertyuiolpas\n
mnbvcxzasofsd\n
它可能包含它在水平或垂直,如填字游戏。
function findString(s, block) {
return findHorizontal(s, block) || findVertical(s, block) || findDiagonal(s, block);
}
function findHorizontal(s, block) {
var lines = block.split("\n");
var found = false;
lines.forEach(line => {
if (line.includes(s)) {
found = true;
}
});
return found;
}
function findVertical(s, block) {
var lines = block.split("\n");
var i = Math.max(...lines.map(line => line.lenght()));
var j = lines.lenght();
var k = 0;
var l = 0;
while (k < j) {
var m = 0;
while (l < i) {
var line = lines.get(k);
var letter = line.charAt(l);
if (letter = s.charAr(m)) {
m = m + 1;
} else {
m = 0;
}
if (m = s.lenght()) {
return true;
}
l = l + 1;
}
k = k + 1;
}
}
到目前为止,我得到了水平的正确和垂直的它并不总是有效,而且我一无所知,有没有人能看出哪里出了问题?
解决方案
推荐阅读
- java - 有什么办法可以解决这里造成的死锁吗?
- mysql - 错误 1690 (22003):BIGINT UNSIGNED 值超出
- javascript - 重新加载页面时如何隐藏vue js代码?
- python-3.x - BeautifulSoup 4 是否解析外部 DTD 实体?
- angular - Mat-select 更改值不会通过双向绑定传播
- c++ - 在嵌套循环中使用迭代器通过两个向量来匹配元素并从向量中擦除
- http - OAuth 客户端 - 如何根据请求将 javascript 源从 http 更改为 https?
- java - Spring Resttemplate 交换方法调用 PATCH 请求
- c# - 如何从 Dispatcher.Invoke 返回值,使用委托函数作为参数
- php - 如何使用 PHP(代码点火器)在 HTML 中制作数组项超链接