いわゆるウィルロジャース現象は、1つの要素が2つのセット間で移動したときに2つの(マルチ)セットの平均を上げることで統計を微調整する方法を説明します。簡単な例として、2つのセットを考えます
A = {1, 2, 3}
B = {4, 5, 6}
それらの算術平均は 2
、および5
です。私たちが移動した場合4
にA
:
A = {1, 2, 3, 4}
B = {5, 6}
今、平均である2.5
と5.5
の両方の平均値は、単純な再編を通じて提起されているので、それぞれ。
別の例として、考えてみましょう
A = {3, 4, 5, 6} --> A = {3, 5, 6}
B = {2, 3, 4, 5} --> B = {2, 3, 4, 4, 5}
一方、セットの両方の平均を上げることはできません
A = {1, 5, 9}
B = {4, 5, 7, 8}
チャレンジ
非負整数の2つのリストが与えられた場合、1つのリストから別のリストに単一の整数を移動して、両方の平均値を上げることが可能かどうかを判断します。
空のリストの平均は定義されていないため、リストの1つに要素が1つしか含まれていない場合、この要素は移動できません。
プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。
入力は、任意の便利な文字列またはリスト形式で取得できます。
各リスト内の要素が一意であると仮定したり、ソートされていると仮定したりしないでください。両方のリストに少なくとも1つの要素が含まれていると想定できます。
出力があるべきtruthy両方の平均が単一の整数と移動して上昇させることができるならばfalsyをそう。
これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。
テストケース
真実:
[1], [2, 3]
[1, 2, 3], [4, 5, 6]
[3, 4, 5, 6], [2, 3, 4, 5]
[6, 5, 9, 5, 6, 0], [6, 2, 0, 9, 5, 2]
[0, 4], [9, 1, 0, 2, 8, 0, 5, 5, 4, 9]
偽物:
[1], [2]
[2, 4], [5]
[1, 5], [2, 3, 4, 5]
[2, 1, 2, 3, 1, 3], [5, 1, 6]
[4, 4, 5, 2, 4, 0], [9, 2, 10, 1, 9, 0]
リーダーボード
これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。
回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。
# Language Name, N bytes
N
提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば:
# Ruby, <s>104</s> <s>101</s> 96 bytes
<script>site = 'meta.codegolf'; postID = 5314; isAnswer = true; QUESTION_ID = 53913</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>
1
と9
オーバー、両方の平均値を上げることになるが、あなたは、単一のものを移動することによって、そうすることはできません。