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

पायथन में k आकार के बढ़ते क्रमों की संख्या खोजने का कार्यक्रम

मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है और एक अन्य मान k भी है, हमें आकार k के बाद के क्रमों की संख्या ज्ञात करनी है जो सख्ती से बढ़ रहे हैं। अगर उत्तर बहुत बड़ा है, तो इसे 10^9 + 7 से संशोधित करें।

इसलिए, यदि इनपुट संख्या =[2, 3, 4, 1] k =2 की तरह है, तो आउटपुट 3 होगा, क्योंकि हमारे पास आकार 2 के बाद के भाग हैं:[2, 3], [3, 4], [2, 4]।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • म :=10^9 + 7
  • dp :=अंकों के समान आकार की सूची और 1 से भरें
  • निम्न k बार पुनरावृति करें, करें
    • j के लिए dp - 1 से 0 के श्रेणी आकार में, 1 से घटाएं
      • dp[j] :=0
      • मैं के लिए 0 से j की सीमा में, करते हैं
        • यदि अंक[i] <अंक[j], तो
          • dp[j] :=dp[j] + dp[i]
  • रिटर्न (डीपी में सभी तत्वों का योग) मॉड एम

उदाहरण (पायथन)

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

class Solution:
   def solve(self, nums, k):
      m = 10 ** 9 + 7
      dp = [1] * len(nums)
      for _ in range(k - 1):
         for j in range(len(dp) - 1, -1, -1):
            dp[j] = 0
            for i in range(j):
               if nums[i] < nums[j]:
                  dp[j] += dp[i]
      return sum(dp) % m
ob = Solution()
nums = [2, 3, 4, 1]
k = 2
print(ob.solve(nums, k))

इनपुट

[2, 3, 4, 1], 2

आउटपुट

3

  1. पायथन में एक श्रेणी में नोड्स की संख्या खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बीएसटी है, और हमारे पास बाएं और दाएं सीमाएं एल और आर भी हैं, हमें रूट में उन सभी नोड्स की गिनती ढूंढनी है जिनके मान एल और आर (समावेशी) के बीच मौजूद हैं। तो, अगर इनपुट पसंद है l =7, r =13, तो आउटपुट 3 होगा, क्योंकि तीन नोड हैं:8, 10, 12. इसे हल करने के लिए, हम इन चरणों

  1. पायथन प्रोग्राम में प्राइम नंबर खोजने के विभिन्न तरीके

    इस ट्यूटोरियल में, हम यह पता लगाने के लिए विभिन्न तरीकों का पता लगाने जा रहे हैं कि दी गई संख्या वैध है या नहीं। आइए बिना किसी अतिरिक्त बकाया के शुरू करते हैं। विधि-1 यह अभाज्य संख्याओं को खोजने का एक सामान्य तरीका है। अगर संख्या एक से कम या उसके बराबर है, तो झूठी वापसी करें। यदि संख्या किसी

  1. एक सूची में सबसे बड़ी संख्या खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन दी गई सूची इनपुट, हमें दी गई सूची में सबसे बड़ी संख्या खोजने की जरूरत है। यहां हम दो दृष्टिकोणों पर चर्चा करेंगे सॉर्टिंग तकनीकों का उपयोग करना अंतर्निहित अधिकतम() फ़ंक्शन का उपयोग करना दृष्टिक