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

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

मान लीजिए हमारे पास संख्याओं का एक समूह है; हमें उस समुच्चय के सभी संभावित उपसमुच्चय उत्पन्न करने होंगे। इसे पावर सेट के रूप में भी जाना जाता है। तो अगर सेट [1,2,3] जैसा है, तो पावर सेट [[], [1], [2], [3], [1,2], [1,3], [2 होगा। ,3], [1,2,3]]

आइए चरणों को देखें -

  • हम इसे पुनरावर्ती दृष्टिकोण का उपयोग करके हल करेंगे। इसलिए यदि पुनरावर्ती विधि नाम को हल () कहा जाता है, और यह संख्याओं (अंक), अस्थायी सेट (अस्थायी), रेस और इंडेक्स का सेट लेता है
  • हल करें () फ़ंक्शन नीचे की तरह काम करेगा -
  • यदि अनुक्रमणिका =अंकों की लंबाई है, तो अस्थायी के समान एक सूची बनाएं, और res में डालें और वापस लौटें
  • अस्थायी [सूचकांक] :=0
  • समाधान (अंक, अस्थायी, रेस, अनुक्रमणिका + 1)
  • अस्थायी[सूचकांक] :=1
  • समाधान (अंक, अस्थायी, रेस, अनुक्रमणिका + 1)
  • मुख्य समारोह नीचे जैसा होगा -
  • res :=एक खाली सूची
  • अंकों के समान आकार की अस्थायी सूची बनाएं, और इसे 0 से भरें
  • कॉल सॉल्व (अंक, अस्थायी, रेस, 0)
  • main_res :=एक खाली सूची
  • temp_res में सभी सूचियों के लिए
    • अस्थायी:=खाली सूची
    • i के लिए :=0 से सूचियों की लंबाई
      • यदि सूचियाँ[i] =1 है, तो अंक [i] को अस्थायी में डालें
    • मेन_रेस में अस्थायी डालें
  • रिटर्न मेन रेस

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

उदाहरण

class Solution(object):
   def subsets(self, nums):
      temp_result = []
      self.subsets_util(nums,[0 for i in range(len(nums))],temp_result,0)
      main_result = []
      for lists in temp_result:
         temp = []
         for i in range(len(lists)):
            if lists[i] == 1:
               temp.append(nums[i])
         main_result.append(temp)
      return main_result
   def subsets_util(self,nums,temp,result,index):
      if index == len(nums):
         result.append([i for i in temp])
         #print(temp)
         return
      temp[index] = 0
      self.subsets_util(nums,temp,result,index+1)
      temp[index] = 1
      self.subsets_util(nums, temp, result,index + 1)
ob1 = Solution()
print(ob1.subsets([1,2,3,4]))

इनपुट

[1,2,3,4]

आउटपुट

[[], [4], [3], [3, 4], [2], [2, 4], [2, 3], [2, 3, 4], [1], [1, 4], 
[1, 3], [1, 3, 4], [1, 2], [1, 2, 4], [1, 2, 3], [1, 2, 3, 4]]

  1. पायथन में बाइनरी ट्री की अधिकतम गहराई

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है। हमें उस वृक्ष की अधिकतम गहराई ज्ञात करनी है। एक पेड़ की अधिकतम गहराई नोड्स की अधिकतम संख्या है जो सबसे लंबे पथ का उपयोग करके जड़ से पत्ती तक पहुंचने के लिए ट्रैवर्स की जाती है। मान लीजिए पेड़ नीचे जैसा है। गहराई यहां 3 होगी। इसे हल करने के लिए, हम इन चरणो

  1. पायथन में वर्ग (x)

    मान लीजिए कि हमारे पास एक संख्या x है, और x एक गैर-ऋणात्मक संख्या है। हमें किसी लाइब्रेरी फंक्शन का उपयोग किए बिना x का वर्गमूल ज्ञात करना है। इसलिए हमें sqrt(x) का मूल्यांकन करने के लिए अपना स्वयं का फ़ंक्शन बनाना होगा। इस फ़ंक्शन में, आउटपुट के दशमलव अंक को छोटा कर दिया जाएगा। मान लीजिए x का मान

  1. issuperset () पायथन में

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे। यह विधि बूलियन ट्रू लौटाती है यदि एक सेट बी के सभी तत्वों में सभी तत्व सेट ए होते हैं जो एक तर्क के रूप में पारित होते हैं और यदि ए के सभी तत्व बी में मौजूद नहीं होते हैं तो झूठा रिटर्न देता है। इस