मान लीजिए कि हमारे पास nums नामक एक सरणी है। हम इस सरणी से एक तत्व को एक चाल में किसी भी मान में बदल सकते हैं। हमें अधिकतम 3 चालों में पहले से प्रदर्शन करने के बाद अंकों के सबसे बड़े और सबसे छोटे मान के बीच न्यूनतम अंतर ज्ञात करना होगा।
इसलिए, यदि इनपुट nums =[3,7,2,12,16] की तरह है, तो आउटपुट 1 होगा क्योंकि हम [1,10,1,1] को दिए गए ऐरे को बना सकते हैं, इसलिए अधिकतम है 1 और न्यूनतम 0 है, इसलिए अंतर 1 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
अगर अंकों का आकार <=4, तो
-
वापसी 0
-
-
सूची संख्या क्रमित करें
-
उत्तर:=अनंत
-
मेरे लिए 0 से 3 की सीमा में, करें
-
मील:=अंक [i]
-
मा :=अंक [अंकों की लंबाई -(3-i+1)]
-
Ans :=न्यूनतम ma-mi और ans
-
-
वापसी उत्तर
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def solve(nums): if len(nums) <= 4: return 0 nums.sort() ans = float("inf") for i in range(4): mi = nums[i] ma = nums[-(3-i+1)] ans = min(ma-mi,ans) return ans nums = [3,7,2,12,16] print(solve(nums))
इनपुट
[3,7,2,12,16]
आउटपुट
1