文字列をチェックするプログラムは、Pythonで相互に回転しているかどうか
2つの英語の文字列sとtがあるとします。これらは、小文字または大文字、あるいはその両方にすることができます。一方が他方の回転であるかどうかを確認する必要があります。
したがって、入力がs ="koLKAta" t ="KAtakoL"の場合、出力はTrueになります
これを解決するには、次の手順に従います-
- sのサイズがtのサイズと同じでない場合、
- Falseを返す
- s:=s連結s
- tがsに存在する場合はTrueを返し、それ以外の場合はFalseを返します
例
理解を深めるために、次の実装を見てみましょう-
def solve(s, t): if len(s) != len(t): return False s = s + s return True if s.find(t) != -1 else False s = "koLKAta" t = "KAtakoL" print(solve(s, t))
入力
"koLKAta", "KAtakoL"
出力
True
-
ポイントをチェックするプログラムがPythonで凹多角形を形成しているかどうか
多角形の外側の点が時計回りにあるとします。これらの点が凸多角形を形成しているかどうかを確認する必要があります。ポリゴンの内角のいずれかが180°より大きい場合、ポリゴンは凹面であると言われます。 この図から、3つの連続するポイントごとに、CDEを除いて内角が180°以下であることが明らかです。 したがって、入力がpoints =[(3,4)、(4,7)、(7,8)、(8,4)、(12,3)、(10,1)、(5,2 )]の場合、出力はTrueになります。 これを解決するには、次の手順に従います- n:=ポイントのサイズ 0からポイントのサイズまでの範囲のiについては、 1の場
-
ポイントをチェックするプログラムがPythonで凸包を形成しているかどうか
ポリゴンの外側の点が時計回りにあるとします。これらの点が凸包を形成しているかどうかを確認する必要があります。 この図から、3つの連続するポイントごとに内角が180°以下であることが明らかです。したがって、すべての角度が180°以下の場合、ポリゴンは凸包になります。 したがって、入力がpoints =[(3,4)、(4,7)、(7,8)、(11,6)、(12,3)、(10,1)、(5,2 )]の場合、出力はTrueになります。 これを解決するには、次の手順に従います- n:=ポイントのサイズ 0からポイントのサイズまでの範囲のiについては、 1の場合はpoints[i-2]、