ধরুন আমাদের একটি অ্যারে সংখ্যা আছে এবং এটি অ-হ্রাস ক্রমে সাজানো হয়েছে। আমাদেরকে ফলাফল নামক একটি অ্যারে তৈরি করতে হবে যার দৈর্ঘ্য সংখ্যার সমান হবে যেমন ফলাফল[i] হল nums[i] এবং অ্যারের অন্যান্য সমস্ত উপাদানের মধ্যে পরম পার্থক্যের সমষ্টি।
সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[5,7,12], তাহলে আউটপুট হবে [9, 7, 12] কারণ
- |5-5| + |5-7| + |5-12| =0+2+7 =9
- |7-5| + |7-7| + |7-12| =2+0+5 =7
- |5-12| + |7-12| + |12-12| =7+5+0 =12
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- res :=একটি নতুন তালিকা
- s:=0
- n :=সংখ্যার আকার
- 1 থেকে n - 1 রেঞ্জের জন্য, করুন
- s :=s + nums[i] - nums[0]
- res এর শেষে s ঢোকান
- 1 থেকে n - 1 রেঞ্জের জন্য, করুন
- diff :=nums[i] - nums[i-1]
- s :=s + diff*i
- s :=s - diff *(n-i)
- res এর শেষে s ঢোকান
- রিটার্ন রিটার্ন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(nums): res = [] s=0 n = len(nums) for i in range(1,n): s+=nums[i]-nums[0] res.append(s) for i in range(1,n): diff = nums[i]-nums[i-1] s += diff*i s -= diff *(n-i) res.append(s) return res nums = [5,7,12] print(solve(nums))
ইনপুট
[5,7,12]
আউটপুট
[9, 7, 12]