ধরুন আমাদের কাছে সংখ্যা নামক ধনাত্মক মানের একটি অ্যারে আছে, আমাদের সমস্ত সম্ভাব্য বিজোড়-দৈর্ঘ্যের সাবয়ারের যোগফল খুঁজে বের করতে হবে। আমরা জানি যে একটি সাব্যারে হল অ্যারের একটি সংলগ্ন অনুগামী। আমাদের সংখ্যার সমস্ত বিজোড়-দৈর্ঘ্যের সাবয়ারের যোগফল খুঁজে বের করতে হবে।
সুতরাং, যদি ইনপুটটি nums =[3,8,2,5,7] এর মত হয়, তাহলে আউটপুট হবে বিজোড়-দৈর্ঘ্যের সাবয়ারেগুলি হল −
সংখ্যা[0] =3সংখ্যা[1] =8সংখ্যা[2] =2সংখ্যা[3] =5সংখ্যা[4] =7সংখ্যা[0..2], তাই যোগফল =13সংখ্যা[1..3], তাই যোগফল =15সংখ্যাএটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
মোট:=0
-
idx:=0
-
l:=সমস্ত বিজোড় স্থাপন সূচকের একটি তালিকা
-
যখন idx
-
k:=l[idx]
-
আমি 0 থেকে সংখ্যার আকারের মধ্যে, কর
-
যদি i+k <সংখ্যার আকার + 1, তাহলে
-
মোট :=মোট + সূচক i থেকে i+k-1
পর্যন্ত সংখ্যায় সমস্ত উপাদানের যোগফল
-
-
-
idx :=idx + 1
-
-
মোট রিটার্ন
উদাহরণ (পাইথন)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def সমাধান(সংখ্যা):total=0 idx=0 l=[i এর জন্য i range(len(nums)+1) if i%2!=0] while(idxইনপুট
[3,8,2,5,7]আউটপুট
92