週間チャレンジ080


Challenge 080

最も小さい正の数ビット
これは比較的まっすぐ進むタスクです.入力をチェックし、値を%seen ハッシュ(使用するより速い)any or grep ), そして、あなたが不足している値を見つけるまで1からループ.

ミニ
メンテナ以外の皆さんは、ミニコードを愛しています.このタスクは、この例のようにPerlの24文字で完了することもできます.
» perl -E '$r=1;$r++while(grep{$r==$_}@ARGV);say$r' 5 2 -2 0
1


» ./ch-1.pl 5 2 -2 0
1

» ./ch-1.pl 1 8 -1
2

» ./ch-1.pl 2 0 -1
1

タスク1カウント2キャンディー
観測結果:
  • 元のタスクにはエラーがあったが、ありがたいことにMohammadは
  • タスクの候補は、ランク付けされているが、おそらくより正確に得点の類推を使用することです.定義によって、最高に置かれたものは1(すなわち1)にランクされます.しかし、実施例から、より高い配置候補は、より高い値を有する.したがって、私はこの理由のために単語のスコアを使用している.
  • 最後に、キャンディlollies , だから私もその単語を使います.
  • この課題を解決するために、私はどちらかの側のスコアの連続的な増加の数を見ます.左側には、前のスコアよりも候補のスコアが高い場合、私は前の候補よりも1つのキャンディを追加します.右側には点数の減少の数を数えます.ロリーの数は、それらの2つの数字のより高いです.


    » ./ch-2.pl 1 2 2
    Result is 4 (1, 2, 1)
    
    » ./ch-2.pl 1 4 3 2
    Result is 7 (1, 3, 2, 1)