দ্রষ্টব্য: অ্যারে-ম্যানিপুলেশন চ্যালেঞ্জগুলির একটি সিরিজের এটি # 3 । পূর্ববর্তী চ্যালেঞ্জের জন্য, এখানে ক্লিক করুন ।
একটি তালিকার গড় সরানো
গড় চলন্ত একটি তালিকা একটি হিসাব একটি নতুন, তালিকা খুঁজে মসৃণ, মূল ছোট ওভারল্যাপিং sublists গড় দ্বারা নির্মিত ফলে হয়।
চলন্ত গড় তৈরি করার সময়, আমরা প্রথমে একটি নির্দিষ্ট 'উইন্ডো আকার' ব্যবহার করে ওভারল্যাপিং সাবলিস্টগুলির তালিকা তৈরি করি, প্রতিবার একবার এই উইন্ডোটিকে ডানদিকে সরানো।
উদাহরণস্বরূপ, তালিকা [8, 4, 6, 2, 2, 4]
এবং উইন্ডো আকার দেওয়া 3
, সাবলিস্টগুলি হবে:
[8, 4, 6, 2, 2, 4] Sublists:
( ) <- [8, 4, 6]
( ) <- [4, 6, 2]
( ) <- [6, 2, 2]
( ) <- [2, 2, 4]
এরপরে ফলাফলটি পেতে আমরা প্রতিটি সাবলিস্টের গড় গড় গণনা করি : [6.0, 4.0, 3.3, 2.7]
(প্রতিটি মান এক দশমিক স্থানে গোল হয়)।
চ্যালেঞ্জ
আপনার টাস্কটি এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা একটি তালিকা এল এবং একটি পূর্ণসংখ্যা 1 ≤ n ≤ দৈর্ঘ্য (এল) দিয়ে দেওয়া হয় , উইন্ডোর আকার এন ব্যবহার করে এল এর চলমান গড় গণনা করে ।
নিয়মাবলী:
- আপনার প্রোগ্রামটি পূর্ণসংখ্যা বিভাগ বা ফ্লোট বিভাগ ব্যবহার করতে পারে । ভাসা বিভাগের ক্ষেত্রে, ডেটা টাইপের সীমাবদ্ধতার কারণে ছোট অকার্যকরতা অনুমোদিত, যতক্ষণ মান অন্যথায় সঠিক হয়।
- আপনি একটি সম্পূর্ণ প্রোগ্রাম, বা একটি ফাংশন (তবে একটি স্নিপেট নয়) জমা দিতে পারেন।
- আপনি ধরে নিতে পারেন যে তালিকায় কেবল ইতিবাচক পূর্ণসংখ্যা থাকবে ।
- স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
- এটি কোড-গল্ফ , তাই সংক্ষিপ্ত উত্তরটি (বাইটে) জিতেছে!
পরীক্ষার কেস
দ্রষ্টব্য, পাঠযোগ্যতার স্বাচ্ছন্দ্যের জন্য, সমস্ত মান এক দশমিক স্থানে গোল করা হয়।
n=5, [1, 2, 3, 4, 5, 6, 7, 8] -> [3, 4, 5, 6]
n=3, [100, 502, 350, 223, 195] -> [317.3, 358.3, 256]
n=1, [10, 10, 10] -> [10, 10, 10]
n=3, [10, 20, 30] -> [20]
n=2, [90, 40, 45, 100, 101] -> [65, 42.5, 72.5, 100.5]