Will Rogers denilen fenomen , bir eleman iki küme arasında hareket ettiğinde ortalamayı iki (çoklu) kümede ortalamayı yükselterek istatistikleri ayarlamanın bir yolunu açıklar. Basit bir örnek olarak, iki grubu göz önünde bulundurun
A = {1, 2, 3}
B = {4, 5, 6}
Aritmetik ortalamaları sırasıyla 2
ve 5
. Biz taşırsanız 4
için A
:
A = {1, 2, 3, 4}
B = {5, 6}
Şimdi ortalamalardır 2.5
ve 5.5
her iki ortalamalar basit regrouping aracılığıyla gündeme gelmiş, böylece sırasıyla.
Başka bir örnek olarak, düşünün
A = {3, 4, 5, 6} --> A = {3, 5, 6}
B = {2, 3, 4, 5} --> B = {2, 3, 4, 4, 5}
Öte yandan, setler için her iki ortalaması da yükseltmek mümkün değil
A = {1, 5, 9}
B = {4, 5, 7, 8}
Meydan okuma
Negatif olmayan tamsayılardan oluşan iki liste göz önüne alındığında, tek bir tamsayı bir listeden diğerine taşıyarak her iki ortalamayı da yükseltmenin mümkün olup olmadığını belirleyin.
Boş bir listenin ortalaması tanımlanmaz, bu nedenle listelerden biri yalnızca bir öğe içeriyorsa, bu öğe taşınamaz.
STDIN (veya en yakın alternatif), komut satırı argümanı veya işlev argümanı yoluyla giriş alarak ve sonucu STDOUT (veya en yakın alternatif), fonksiyon dönüş değeri veya function (out) parametresi ile çıktı alarak bir program veya işlev yazabilirsiniz.
Giriş herhangi bir uygun dize veya liste biçiminde alınabilir.
Her listedeki öğelerin benzersiz olduğunu veya sıralanmadıklarını varsaymamalısınız. Her iki listenin de en az bir öğe içerdiğini varsayabilirsiniz.
Çıkış olmalıdır truthy iki ortalama tek bir tamsayı hareket ve yükseltilebilir eğer falsy aksi.
Bu kod golf, yani en kısa cevap (bayt cinsinden) kazanır.
Test Kılıfları
Truthy:
[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]
Falsy:
[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]
Liderler
Burada hem düzenli bir lider tablosu hem de kazananların dile göre genel bir bakış oluşturması için bir Stack Snippet'i var.
Cevabınızın göründüğünden emin olmak için, lütfen aşağıdaki Markdown şablonunu kullanarak cevabınızı bir başlık ile başlatın:
# Language Name, N bytes
Gönderinizin N
büyüklüğü nerede ? Puanınızı yükseltirseniz, başlıkları üstüne vurarak eski skorları başlıkta tutabilirsiniz. Örneğin:
# 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
ve 9
üzerinde, her iki ortalamalarını yükseltmek hangi ama tek bir tane hareket ettirerek böylece yapamaz.