मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी A है, अब प्रत्येक पूर्णांक A[i] के लिए हम कोई भी x [-K से K] श्रेणी के साथ चुन सकते हैं और फिर x को A[i] में जोड़ सकते हैं। अब इस प्रक्रिया के बाद, हमारे पास कुछ सरणी B है। हमें B के अधिकतम मान और B के न्यूनतम मान के बीच सबसे छोटा संभव अंतर ज्ञात करना है।
इसलिए, यदि इनपुट A =[0,10], K =2 जैसा है, तो आउटपुट 6 होगा, जैसे B =[2,8]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- MAX :=(अधिकतम A) - K
- मिनट :=(न्यूनतम A) + K
- अंतर:=MAX - मिन
- यदि अंतर <0 शून्य नहीं है, तो
- वापसी 0
- अन्यथा वापसी अंतर
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def smallestRangeI(self, A, K): MAX = max(A)-K MIN = min(A)+K difference = MAX-MIN if difference <0: return 0 else: return difference ob = Solution() print(ob.smallestRangeI([0,10],2))
इनपुट
[0,10],2
आउटपुट
6