मान लीजिए कि हमारे पास दो सूचियाँ L1 और L2 हैं, हमें L1 से किसी संख्या और L2 की संख्या के बीच सबसे छोटा अंतर ज्ञात करना है।
इसलिए, यदि इनपुट L1 =[2, 7, 4], L2 =[16, 10, 11] जैसा है, तो आउटपुट 3 होगा, क्योंकि सबसे छोटा अंतर 10 - 7 =3 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- सूची L1 को क्रमित करें और सूची L2 को क्रमित करें
- उत्तर:=अनंत
- i :=0, j :=0
- जबकि मैं
- उत्तर :=न्यूनतम उत्तर और |L1[i] - L2[j]|
- अगर L1[i]
- i :=i + 1
- j :=j + 1
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, L1, L2): L1.sort() L2.sort() ans = float("inf") i = j = 0 while i < len(L1) and j < len(L2): ans = min(ans, abs(L1[i] - L2[j])) if L1[i] < L2[j]: i += 1 else: j += 1 return ans ob = Solution() L1 = [2, 7, 4] L2 = [16, 10, 11] print(ob.solve(L1, L2))
इनपुट
[2, 7, 4], [16, 10, 11]
आउटपुट
3