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

Python में दो विरल वेक्टर्स का डॉट प्रोडक्ट खोजने का प्रोग्राम

मान लीजिए, हमारे पास दो विरल वेक्टर हैं जो दो सूचियों में दर्शाए गए हैं। हमें दोनों विरल वेक्टर का डॉट प्रोडक्ट वापस करना है। वेक्टर ऑब्जेक्ट्स के रूप में दर्शाए गए हैं, और सूचियाँ ऑब्जेक्ट्स में 'nums' मेंबर वेरिएबल में स्टोर हैं।

इसलिए, यदि इनपुट है: vector1 = [1, 0, 0, 0, 1], vector2 = [0, 0, 0, 1, 1], तो आउटपुट 1 होगा। डॉट प्रोडक्ट है: 1*0 + 0*0 + 0*0 + 0*1 + 1*1 = 1।

हल करने के चरण

  1. res := 0
  2. vector2 के nums में प्रत्येक इंडेक्स i, वैल्यू v के लिए:
    • यदि v, 0 के समान है, तो जारी रखें
    • अन्यथा जब vector1 का nums[i], 0 के समान है, तो अगले इटरेशन पर जाएं
    • अन्यथा, res := res + v * vector1 का nums[i]
  3. res वापस करें

उदाहरण (Python)

class Solution:
    def __init__(self, nums):
        self.nums = nums
    def solve(self, vec):
        res = 0
        for i, v in enumerate(vec.nums):
            if v == 0:
                continue
            elif self.nums[i] == 0:
                continue
            else:
                res += v * self.nums[i]
        return res

ob1, ob2 = Solution([1, 0, 0, 0, 1]), Solution([0, 0, 0, 1, 1])
print(ob1.solve(ob2))

इनपुट

[1, 0, 0, 0, 1], [0, 0, 0, 1, 1]

आउटपुट

1
  1. पायथन में जांचें कि ग्राफ सभी द्वारा पारगम्य है या नहीं पायथन में जांचें कि ग्राफ सभी द्वारा पारगम्य है या नहीं

    मान लीजिए, हमें एक ग्राफ दिया गया है जिसमें n शीर्ष हैं जो 0 से n-1 तक क्रमांकित हैं। ग्राफ अनिर्देशित है और प्रत्येक किनारे का एक भार है। ग्राफ में तीन प्रकार के भार हो सकते हैं और प्रत्येक भार एक विशेष कार्य को दर्शाता है। दो लोग हैं जो ग्राफ को पार कर सकते हैं, अर्थात् जैक और केसी। जैक ग्राफ को

  1. - पायथन में दो अलग-अलग तत्वों का सबसे बड़ा गुणनफल खोजने का प्रोग्राम

    मान लीजिए हमारे पास संख्याओं की एक सूची है, हमें दो अलग-अलग तत्वों का सबसे बड़ा गुणनफल ढूंढना है। उदाहरण के लिए, यदि इनपुट [5, 3, 7, 4] है, तो आउटपुट 35 होगा। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: curr_max := -inf i को 0 से nums के आकार -1 तक के लिए करें: j को i+1 से nums के आकार -1 त

  1. पायथन प्रोग्राम: जांचें कि कोई संख्या दो की घात है या नहीं पायथन प्रोग्राम: जांचें कि कोई संख्या दो की घात है या नहीं

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक संख्या n दिए जाने पर, हमें जांचना होगा कि दी गई संख्या दो की घात है या नहीं। दृष्टिकोण इनपुट नंबर को दो से विभाजित करते रहें, यानी n/2 इटरेटिवली। प्रत्येक इटरेशन में जांचें, यदि