ここでの最初の質問は、これが重複するのか悪い挑戦なのかを私に怒鳴らないでください。
前書き
私はこの挑戦を自分で考えましたが、初心者のコード愛好家には良い基本的なパズルのようです。また、学習するコードゴルフ言語を決定するのに役立つかもしれません。
チャレンジ
以下の整数の配列が与えられた場合、n
正確に合計する配列からの最小数の数値を出力または返しn
ます。
関数を書くか、完全なプログラムを書くかを選択できます。
入力
あなたは安全に仮定することができ0 <= n < 2^31
ます。
任意の種類の配列またはリスト(vector
C ++またはJava LinkedList
が許可されている場合)と、配列の長さを指定n
するオプションのパラメーターを取りますlength
。
入力はn
、コンマまたはスペースで区切られたスペースで区切られた文字列として受け取ることもできます。
1 5 7 3 7 3 6 3 2 6 3,10
1 5 7 3 7 3 6 3 2 6 3 10
それが簡単な場合。
出力
出力するか、正確に合計する配列の最小数を返しn
ます。上記の例を使用します。
1 5 7 3 7 3 6 3 2 6 3,10
あなたのプログラムは印刷するはずです:
2
合計する最小数10
は2
(7
および3
)であるためです。
解決策がない場合は、空の文字列を除き、負の値、0
「解決策なし」(賢明ではないが)、∞
(推奨)、またはその他の偽の値を印刷または返す。
入力と出力の例
入力:
1 5 7 3 7 3 6 3 2 6 3,10
143 1623 1646 16336 1624 983 122,18102
5 6 9,12
出力:
2
3
-1
得点
これはコードゴルフなので、バイト単位の最短コードが優先されます。
トップの回答はクリスマスに受け入れられます。
false
解決策がないケースについて出力できますか?