Ben çok numaraları kapalı (yani, 1,2,1,2,3,4,50) tek 50 tüm ortalama kapalı atacağım küçük bir set tarafından atılır olmadan bir ortalama hesaplamak için çalışıyorum.
Ben şöyle numaralarının listesi varsa:
19,20,21,21,22,30,60,60
Ortalama 31
Medyan olduğunu 30
Mod 21 ve bir 60 (ortalama için 40.5)
Ama herkes çoğunluk aralığında 19-22 (3 çıkış, 5) ve sadece büyük aralığı ortalama olsun eğer yukarıdaki numaralardan herhangi daha (büyük bir fark 20.6 olduğunu görebilirsiniz )
Ben bu kadar gibi bu alabilirsiniz düşündüklerim:
c + d-r
c
, bir sayı sayısı olduğu yerde, d
ayrı değerindedir, ve r
aralığıdır. Sonra tüm possble aralıkları bu uygulayabilirsiniz, ve en yüksek puanı bir ortalama almak için omptimal aralığıdır.
(22-19) Örneğin 19,20,21,21,22
5 sayı, 4 ayrı değerleri ve aralık 3'tür olacaktır. Benim denklemi içine bu takarsanız 5 4-3 = 6 olsun
Eğer tüm numara listesine bu uygulandığında ise 8 6-41 = -27 olurdu
Ben bu oldukça iyi çalıştığını düşünüyorum, ama tüm olası aralıkları karşı test etmek için büyük bir döngü oluşturmak zorunda. Sadece benim küçük örnekte 21 olası aralıkları vardır:
19-19, 19-20, 19-21, 19-22, 19-30, 19-60, 20-20, 20-21, 20-22, 20-30, 20-60, 21-21, 21 - 22, 21-30, 21-60, 22-22, 22-30, 22-60, 30-30, 30-60, 60-60
Böyle bir ortalama almak için daha verimli bir yol olup olmadığını merak ediyorum.
Ya da birileri hep birlikte daha iyi bir algoritma varsa?