基本的に、私の質問はこのコードを実行する方法についてですか? 分割統治法を使用して、指定されたリストから 2 番目に小さい数を見つけます。私は印刷してみました..しかし、それは私に何も与えません。このコードがどのように機能するかを見たいだけです。簡単な質問で申し訳ありませんが、Python ではまったく新しいものです。
1 に答える
0
関数呼び出しを使用して実行し、 aprint
を印刷するだけです。
def two_min(arr):
n = len(arr)
if n==2: # Oops, we don't consider this as comparison, right?
if arr[0]<arr[1]: # Line 1
return (arr[0], arr[1])
else:
return (arr[1], arr[0])
(least_left, sec_least_left) = two_min(arr[0:n/2])
(least_right, sec_least_right) = two_min(arr[n/2:])
if least_left < least_right: # Line 2
least = least_left
if least_right < sec_least_left: # Line 3
return (least, least_right)
else:
return (least, sec_least_left)
else:
least = least_right
if least_left < sec_least_right: # Line 4
return (least, least_left)
else:
return (least, sec_least_right)
print two_main([12,2])
これがどのように機能するかを知りたい場合は、オンラインの python ビジュアライザーを参照してください。リンク.
于 2013-10-31T05:49:21.980 に答える