Pythonで非表示の数字を置き換えることにより、最新の有効時間を見つけるプログラム
文字列sがhh:mmの形式で時間を表すと仮定します。 sの一部の数字は非表示になっています(?で表されます)。 24時間制を考慮すると、有効な時刻は00:00から23:59の間です。非表示の数字を置き換えることにより、時間から取得できる最新の有効時間を見つける必要があります。
したがって、入力がs ="1?:?5"の場合、数字「2」で始まる最新の時間は23で、数字「0」で終わる最後の分は13:55であるため、出力は13:55になります。 50。
これを解決するには、次の手順に従います-
-
ans:=新しいリスト
-
max_time:=['2'、 '3'、':'、 '5'、 '9']
-
max_time [0] <'2'の場合、
-
max_time [1]:='9'
-
-
'9'> =max_time [1]> '3'の場合、
-
max_time [0]:='1'
-
-
(max_time、s)からの各ペア(mx、数字)に対して、実行
-
数字が1桁の場合、
-
ansの最後に数字を挿入
-
-
それ以外の場合
-
ansの最後にmxを挿入します
-
-
-
ansに存在する文字を結合して戻る
例(Python)
理解を深めるために、次の実装を見てみましょう-
def solve(s): ans = [] max_time = ['2','3',':','5','9'] if max_time[0] < '2': max_time[1] = '9' if '9' >= max_time[1] > '3': max_time[0] = '1' for mx,digit in zip(max_time,s): if digit.isdigit(): ans.append(digit) else: ans.append(mx) return ''.join(ans) s= "1?:?5" print(solve(s))
入力
"1?:?5"
出力
13:55
-
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)