Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में टू सम


मान लीजिए हमारे पास पूर्णांकों की एक सरणी है। हमें दो पूर्णांकों के सूचकांक वापस करने हैं, जैसे कि यदि हम उन्हें जोड़ते हैं, तो हम एक विशिष्ट लक्ष्य तक पहुंचेंगे जो भी दिया गया है। यहां हम एक मान्यता लेंगे, कि सरणी में हमेशा एक अद्वितीय समाधान होगा, इसलिए एक ही लक्ष्य के लिए दो सेट सूचकांक नहीं होंगे।

उदाहरण के लिए, मान लीजिए सरणी A = [2, 8, 12, 15] जैसी है, और लक्ष्य योग 20 है। तो यह सूचकांक 1 और 2 वापस करेगा, क्योंकि A[1] + A[2] = 20।

हल करने के चरण

  • परिणाम रखने के लिए res नामक एक मैप परिभाषित करें
  • इंडेक्स i के लिए रेंज 0 से n - 1 तक (जहां n सरणी में तत्वों की संख्या है)
    • यदि target - A[i] res में मौजूद है
      • res[target - A[i]] और i को सूचकांक के रूप में वापस करें
    • अन्यथा i को res में डालें जैसे res[A[i]] = i

बेहतर समझ के लिए कार्यान्वयन देखें:

उदाहरण

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        required = {}
        for i in range(len(nums)):
            if target - nums[i] in required:
                return [required[target - nums[i]],i]
            else:
                required[nums[i]]=i

input_list = [2,8,12,15]
ob1 = Solution()
print(ob1.twoSum(input_list, 20))

इनपुट

input_list = [2,8,12,15] target = 20

आउटपुट

[1, 2]

  1. - पायथन में दो सरणियों का प्रतिच्छेदन II

    मान लीजिए हमारे पास दो सरणी A और B हैं, इन सरणियों में कुछ तत्व हैं। हमें उनका प्रतिच्छेदन ढूंढना है। उदाहरण के लिए, यदि A = [1, 4, 5, 3, 6], और B = [2, 3, 5, 7, 9], तो प्रतिच्छेदन [3, 5] होगा। हल करने के चरण दो सरणी A और B लें यदि A की लंबाई B की लंबाई से छोटी है, तो उन्हें स्वैप करें सरणी में तत

  1. - पायथन में दो पूर्णांकों का योग

    मान लीजिए हमारे पास दो पूर्णांक a और b हैं। हमारा कार्य इन दो पूर्णांकों का योग ढूंढना है। एक प्रतिबंध यह है कि हम + या - जैसे किसी ऑपरेटर का उपयोग नहीं कर सकते। यदि a = 5 और b = 7, तो परिणाम 12 होगा। हल करने के चरण हल करने के लिए हम बिटवाइज लॉजिकल ऑपरेटर्स का उपयोग करेंगे यदि b = 0, तो a वापस करे

  1. पायथन में पथ योग पायथन में पथ योग

    मान लीजिए हमारे पास एक ट्री और एक योग है। हमें एक ऐसा पथ ढूंढना है जिससे यदि हम उस पथ का अनुसरण करें, तो हमें वह योग मिलेगा जो दिए गए योग से मेल खाता हो। मान लीजिए ट्री [0,-3,9,-10, null,5] जैसा है और योग 14 है, तो एक पथ 0 → 9 → 5 है। हल करने के चरण यदि रूट null है, तो False वापस करें यदि बायां औ