Python
 Computer >> コンピューター >  >> プログラミング >> Python

単語をチェックするプログラムは、Pythonではなくマトリックス文字ボードにあります


マトリックスキャラクターボードがあるとします。各セルが文字を保持している場所。また、targetという文字列もあります。左から右、または上から下に一方向に移動して、ターゲットがマトリックス内で見つかるかどうかを確認する必要があります。

したがって、入力が次のような場合

a n t s
s p i n
l a p s

単語=「ヒント」

次に、出力はTrueになり、3番目の列(上から下)が「ヒント」を形成していることがわかります。

これを解決するには、次の手順に従います-

  • ボード内の各iについて、
    • i:=iに存在する文字から単語を作成する
    • 単語がiに存在する場合、
      • Trueを返す
  • i:=0
  • i <ボードの行数を確認しながら、
    • j:=ボードのi番目の列の文字から文字列を作成します
    • i:=i + 1
    • 単語がjにある場合、
      • Trueを返す
  • Falseを返す

理解を深めるために、次の実装を見てみましょう-

def solve(board, word):
   for i in board:
      i = "".join(i)
      if word in i:
         return True
   i = 0
   while i < len(board):
      j = "".join([col[i] for col in board])
      i += 1
      if word in j:
         return True

   return False

board = [["a","n","t","s"],["s","p","i","n"],["l","a","p","s"]]
word = "tip"
print(solve(board, word))

入力

[["a","n","t","s"],
["s","p","i","n"],
["l","a","p","s"]],
"tip"

出力

True

  1. Pythonで単語のリストによってターゲットを綴ることができるかどうかをチェックするプログラム

    numsと呼ばれる数のリストと別の数kがあるとします。インデックスkと任意のインデックスiから開始する場合、正確にnums[i]ステップ数だけ左または右に進むことができます。リストの最後に到達できるかどうかを確認する必要があります。 したがって、入力がnums =[0、0、2、1、3、3、1、1] k =2の場合、インデックス2から開始してから、インデックス4にジャンプするかのように、出力はTrueになります。次に、最後のインデックス7にジャンプします。 これを解決するために、次の手順に従います- n:=numsのサイズ 訪問:=サイズnのリストで0を入力 tovisit

  2. 与えられた行列がPythonでテプリッツ行列であるかどうかをチェックするプログラム

    行列Mがあるとすると、それがテプリッツ行列であるかどうかを確認する必要があります。ご存知のように、左から右に下がるすべての対角線が同じ値を持つ場合、行列はテプリッツと呼ばれます。 したがって、入力が次のような場合 7 2 6 3 7 2 5 3 7 その場合、出力はTrueになります。 これを解決するには、次の手順に従います- 最後の行を除く各行iについて、実行します 最後の列を除く各列について、 matrix [i、j]がmatrix [i + 1、j + 1]と同じでない場合、 Falseを返す Trueを返す