अपसाइड-डाउन पिरामिड एडिशन संख्या की एक सूची लेने और उन्हें एक साथ जोड़ने तक की प्रक्रिया है, जब तक कि आप एक नंबर तक नहीं पहुंच जाते।
जब संख्या दी जाती है 2, 1, 1
तो निम्नलिखित प्रक्रिया होती है:
2 1 1
3 2
5
यह संख्या में समाप्त होता है 5
।
आपका कार्य
एक अपसाइड-डाउन पिरामिड (आरोही) के दाहिने हिस्से को देखते हुए, एक प्रोग्राम या फ़ंक्शन लिखें जो मूल सूची लौटाएगा।
नई अतिरिक्त चुनौती : O (n ^ 2) से कम में ऐसा करने का प्रयास करें
उदाहरण
f([5, 2, 1]) => [2, 1, 1]
f([84,42,21,10,2]) => [4,7,3,8,2]
नोट: अपसाइड-डाउन पिरामिड कभी खाली नहीं होगा और हमेशा सकारात्मक पूर्णांक से मिलकर बनेगा।
Try doing this in less than O(n)
निश्चित रूप से यह एक n-size array आवंटित करना या O (n) आइटम को O (n) जटिलता से अधिक तेजी से बदलना असंभव है?