একটি পজিটিভ মান দিয়ে nums অ্যারে দেওয়া আছে। সব সম্ভাব্য বিজোড় দৈর্ঘ্যের সাবঅ্যারেগুলোর যোগফল বের করতে হবে। সাবঅ্যারে = কন্টিগুয়াস সাবসিকোয়েন্স।
ইনপুট: nums = [3,8,2,5,7] → আউটপুট: 92।
বিজোড় দৈর্ঘ্যের সাবঅ্যারে: [3], [8], [2], [5], [7], [3,8,2]=13, [8,2,5]=15, [2,5,7]=14, [3,8,2,5,7]=25। মোট = ৯২।
সমাধানের ধাপসমূহ
total := 0
l := সব বিজোড় ইনডেক্সের লিস্ট (১, ৩, ৫...)
প্রতিটি k ∈ l-এর জন্য:
- i = 0 থেকে len(nums)-1 পর্যন্ত:
- যদি i+k < len(nums)+1: total += sum(nums[i:i+k])
- i = 0 থেকে len(nums)-1 পর্যন্ত:
total রিটার্ন করুন
উদাহরণ (Python)
def solve(nums):
total = 0
idx = 0
l = [i for i in range(len(nums) + 1) if i % 2 != 0]
while idx < len(l):
k = l[idx]
for i in range(len(nums)):
if i + k < len(nums) + 1:
total += sum(nums[i:i+k])
idx += 1
return total
nums = [3, 8, 2, 5, 7]
print(solve(nums))
ইনপুট
[3,8,2,5,7]
আউটপুট
92