मान लीजिए कि हमारे पास एक सरणी संख्या है और इसे गैर-घटते क्रम में क्रमबद्ध किया गया है। हमें परिणाम नामक एक सरणी बनाना है जिसकी लंबाई समान है, जैसे कि परिणाम [i] अंक [i] और सरणी में अन्य सभी तत्वों के बीच पूर्ण अंतर का योग है।
इसलिए, यदि इनपुट nums =[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]