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

Pythonで指定されたマトリックス内または非中のターゲット値を見つけるプログラム


各行と列が降順ではない順序で並べ替えられている2Dマトリックスがあるとすると、指定されたターゲットがその中に存在するかどうかを確認する必要があります。

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

2 4 30
3 4 31
6 6 32

そしてtarget=31の場合、出力はTrueになります

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

  • col:=マトリックスの列サイズ-1
  • 行列の0から行サイズの範囲のiの場合、
    • matrix [i、col]>targetおよびcol>=0の場合、do
      • col:=col-1
    • matrix [i、col]がターゲットと同じ場合、
      • Trueを返す
  • Falseを返す

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

class Solution:
   def solve(self, matrix, target):
      col = len(matrix[0]) - 1
      for i in range(len(matrix)):
         while matrix[i][col] > target and col >= 0:
            col = col - 1
         if matrix[i][col] == target:
            return True
      return False
ob = Solution()
matrix = [ [2, 4, 30], [3, 4, 31], [6, 6, 32] ]
target = 31
print(ob.solve(matrix, target))

入力

matrix = [
[2, 4, 30],
[3, 4, 31],
[6, 6, 32]]
target = 31

出力

True

  1. 与えられたポリゴンの内側または境界にある与えられた点をチェックするか、Pythonではないかをチェックするプログラム

    ポリゴンを表すデカルト点[(x1、y1)、(x2、y2)、...、(xn、yn)]のリストがあり、xとyの2つの値があるとします。 (x、y)がこのポリゴンの内側にあるのか、境界上にあるのかを確認してください。 したがって、入力がpoints =[(0、0)、(1、3)、(4、4)、(6、2)、(4、0)] pt =(3、1) その場合、出力はTrueになります これを解決するには、次の手順に従います- ans:=False 0からポリゴンのサイズ-1までの範囲のiの場合、実行します (x0、y0):=ポリゴン[i] (x1、y1):=ポリゴン[(i + 1)ポリゴンのm

  2. 行列の転置を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 行列が与えられた場合、転置を同じ行列に格納して表示する必要があります。 行列の転置は、行を列に、列を行に変更することで得られます。つまり、A行列の転置はA[i][j]をA[j][i]に変更することで得られます。 以下に示す実装を見てみましょう- 例 N = 4 def transpose(A):    for i in range(N):       for j in range(i+1, N):     &nbs