準優勝スコアを見つけるPythonプログラム
さまざまな数の参加者のスコアのリストがあるとします。次点のスコアを見つける必要があります。
したがって、入力がスコア=[5,8,2,6,8,5,8,7]のようである場合、勝者のスコアは8で、2番目に大きいスコアは7であるため、出力は7になります。
これを解決するには、次の手順に従います-
- 勝者:=-99999
- runner_up:=-99999
- スコアの各iについて、
- 勝者の場合は
- 勝者:=i
- runner_up:=勝者
- それ以外の場合、i<勝者およびi>runner_upの場合、
- runner_up:=i
- 勝者の場合は
- return runner_up
例
理解を深めるために、次の実装を見てみましょう
def solve(scores): winner = -99999 runner_up = -99999 for i in scores: if (i > winner): winner, runner_up = i, winner elif (i < winner and i > runner_up): runner_up = i return runner_up scores = [5,8,2,6,8,5,8,7] print(solve(scores))
入力
[5,8,2,6,8,5,8,7]
出力
7
-
Pythonでポリゴンの領域を見つけるプログラム
順序付けられたポイントのリストが2D平面上の単純なポリゴンエンドポイントを表すとします。このポリゴンの領域を見つける必要があります。 したがって、入力がpoints =[(0、0)、(0,5)、(3、5)、(3,0)]のような場合、出力は15になります。 これを解決するには、次の手順に従います- 関数getInfo()を定義します。これにはx1、y1、x2、y2が必要です return x1 * y2-y1 * x2 メインの方法から、次の手順を実行します N:=ポイントのサイズ (firstx、firsty):=points [0] (prevx、prevy):=(fir
-
Pythonでポリゴンの周囲を見つけるプログラム
順序付けられたポイントのリストが2D平面上の単純なポリゴンエンドポイントを表すとします。このポリゴンの周囲を見つける必要があります。 したがって、入力がpoints =[(0、0)、(0,5)、(3、5)、(3,0)]のような場合、出力は16になります。 2つの辺の長さは3で、2つの辺の長さは5なので、2 * 5 + 2 * 3=16です。 これを解決するには、次の手順に従います- 関数getInfo()を定義します。これにはx1、y1、x2、y2が必要です ユークリッド距離である((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))の平方根を返します (x1、y1)