मान लीजिए कि हमारे पास 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