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

Pythonで指定されたn辺のポリゴンを作成できるかどうかを確認します


n辺のサイズを含む配列numがあるとします。指定されたすべての辺でポリゴンを形成できるかどうかを確認する必要があります。

したがって、入力がnums =[3、4、5]のような場合、3つの辺があり、任意の2つの辺の合計が3番目の辺よりも大きいため、出力はTrueになります。これを解決するために、1つの辺の長さが他のすべての辺の合計よりも小さいこのプロパティを使用します。

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

  • リスト番号を並べ替える
  • numsの最後の要素<最後の要素を除くnumsのすべての要素の合計の場合、
    • Trueを返す
  • Falseを返す

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

def solve(nums):
   nums.sort()
   if nums[-1] < sum(nums[:-1]):
      return True
   return False
nums = [3, 4, 5]
print (solve(nums))

入力

[3, 4, 5]

出力

True

  1. 与えられた合計のトリプレットがPythonのBSTに存在するかどうかを確認します

    整数値と数値「合計」を含む二分探索木(BST)が提供されているとします。提供されたBSTに、3つの要素の加算が提供された「合計」値に等しい、3つの要素のグループがあるかどうかを確認する必要があります。 したがって、入力が次のような場合 total =12の場合、出力はTrueになります。 これを解決するには、次の手順に従います- temp_list:=ゼロで初期化された新しいリスト ツリーを順番にトラバースしてtemp_listに配置します 0から(temp_listのサイズ-2)の範囲のiの場合、1ずつ増やします。 左:=i + 1 right:=temp_listのサ

  2. 与えられたポリゴンの内側または境界にある与えられた点をチェックするか、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