स्टैक ओवरफ्लो में एक प्रश्न से प्रेरित ।
पूर्णांक के एक गैर-खाली सरणी xऔर एक सकारात्मक पूर्णांक को देखते हुए , सरणी के साथ लंबाई के प्रत्येक स्लाइडिंग ब्लॉक की राशि की nगणना करें , बाईं ओर लापता मानों को दाएं से मानों के साथ गोलाकार रूप से भरें:nx
- पहले ब्लॉक में पहली प्रविष्टि होती है
x, जोn-1गोलाकार रूप से स्थानांतरित प्रविष्टियों से पहले होती है ; - दूसरे ब्लॉक में पहली और दूसरी प्रविष्टियाँ हैं
x, जो किn-2गोलाकार रूप से स्थानांतरित प्रविष्टियों से पहले हैं; और इसी तरह।
आउटपुट सरणी yका आकार समान है x। यह संभव है nकी लंबाई से अधिक करने के लिए x, और उसके बाद के मूल्यों xचक्राकार कर रहे हैं पुन: उपयोग किया कई बार ।
उदाहरण
उदाहरण 1 (मान केवल एक बार पुन: उपयोग किए जाते हैं)
x = [2, 4, -3, 0, -4]
n = 3
आउटपुट के रूप में दे
y = [-2, 2, 3, 1, -7]
कहा पे
-2ब्लॉक का योग है[0, -4, 2](पहले दो मान परिपत्र स्थानांतरण से आते हैं)2का योग है[-4, 2, 4](पहला मूल्य परिपत्र स्थानांतरण से आता है)3का योग है[2, 4, -3](अब आवश्यक कोई परिपत्र स्थानांतरण नहीं)1का योग है[4, -3, 0]-7का योग है[-3, 0, -4]।
उदाहरण 2 (मान कई बार पुन: उपयोग किए जाते हैं)
x = [1, 2]
n = 5
देना
y = [7, 8]
कहा पे
7ब्लॉक का योग है[1, 2, 1, 2, 1](पहले चार मानों को गोलाकार रूप से पुन: उपयोग किया गया है)8ब्लॉक का योग है[2, 1, 2, 1, 2](पहले तीन मानों को गोलाकार रूप से पुन: उपयोग किया गया है)
अतिरिक्त नियम
- एल्गोरिथ्म को मनमाने आकार के सरणियों के लिए और मनमाने ढंग से पूर्णांक मानों के लिए काम करना चाहिए। यह स्वीकार्य है यदि प्रोग्राम डेटा प्रकार या मेमोरी प्रतिबंधों द्वारा सीमित है; लेकिन सकारात्मक और साथ ही नकारात्मक पूर्णांक मानों को संभाला जाना चाहिए।
- इनपुट / आउटपुट किसी भी उचित माध्यम से लिया / उत्पादित किया जा सकता है ।
- प्रोग्राम या फ़ंक्शंस की अनुमति है, किसी भी प्रोग्रामिंग भाषा में । मानक खामियों को मना किया जाता है।
- बाइट्स में सबसे छोटा कोड जीतता है।
परीक्षण के मामलों
x, n, -> y
[2, 4, -3, 0, -4], 3 -> [-2, 2, 3, 1, -7]
[1, 2], 5 -> [7, 8]
[2], 7 -> [14]
[-5, 4, 0, 1, 0, -10, -4], 4 -> [-19, -15, -5, 0, 5, -9, -13]
[-5, 4, 0, 1, 0, -10, -4], 1 -> [-5, 4, 0, 1, 0, -10, -4]
[-2, -1, 0, 1, 2, 3], 5 -> [4, 3, 2, 1, 0, 5]
[-10, 0, 10], 4 -> [-10, 0, 10]