首页 > 解决方案 > 在填字游戏中查找另一个字符串中的字符串旋转

问题描述

假设我有一个简单的字符串,例如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;
    }
}

到目前为止,我得到了水平的正确和垂直的它并不总是有效,而且我一无所知,有没有人能看出哪里出了问题?

标签: javascriptstring

解决方案


推荐阅读