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

पायथन में k आकार के उपन्यासकारों के अधिकतम मूल्यों को खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक सूची संख्या है और दूसरा मान k है, हमें आकार k के प्रत्येक उप-सूची के अधिकतम मान ज्ञात करने हैं।

इसलिए, यदि इनपुट संख्या =[12, 7, 3, 9, 10, 9] k =3 जैसा है, तो आउटपुट [12, 9, 10, 10]

होगा।

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

  • अगर k> अंकों का आकार, तो

    • एक खाली सूची लौटाएं

  • रेस :=एक नई सूची

  • अस्थायी:=अंक [0]

  • अस्थायी :=npoint :=0

  • 0 से k − 1 की सीमा में i के लिए, करें

    • अगर अंक [i]> अस्थायी, तो

      • अस्थायी:=अंक [i]

      • बिंदु :=मैं

  • रेस के अंत में अस्थायी डालें

  • k से लेकर अंकों के आकार की श्रेणी में i के लिए, करें

    • यदि अंक [i] <अस्थायी और (i - बिंदु)

      • अस्थायी:=अंक [बिंदु]

    • अन्यथा जब अंक [i] <अस्थायी और (i - बिंदु)>=k, तब

      • बिंदु :=i - k + 1

      • j के लिए i − k + 1 से i की श्रेणी में, करें

        • अगर अंक [जे]> अंक [बिंदु], तो

          • बिंदु :=j

      • अस्थायी:=अंक [बिंदु]

    • अन्यथा,

      • अस्थायी:=अंक [i]

      • बिंदु :=मैं

    • रेस के अंत में अस्थायी डालें

  • रिटर्न रेस

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

उदाहरण

class Solution:
   def solve(self, nums, k):
      if k > len(nums):
         return []
      res = []
      temp = nums[0]
      point = 0
      for i in range(k):
         if nums[i] > temp:
            temp = nums[i]
            point = i
      res.append(temp)
      for i in range(k, len(nums)):
         if nums[i] < temp and (i − point) < k:
            temp = nums[point]
         elif nums[i] < temp and (i − point) >= k:
            point = i − k + 1
            for j in range(i − k + 1, i + 1):
               if nums[j] > nums[point]:
                  point = j
            temp = nums[point]
         else:
            temp = nums[i]
            point = i
         res.append(temp)
      return res
ob = Solution()
nums = [12, 7, 3, 9, 10, 9]
k = 3
print(ob.solve(nums, k))

इनपुट

[12, 7, 3, 9, 10, 9], 3

आउटपुट

[12, 9, 10, 10]

  1. पायथन प्रोग्राम में एक शब्दकोश में उच्चतम 3 मान खोजें

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन − हमें एक डिक्शनरी दी गई है, और हमें डिक्शनरी में 3 सबसे ज्यादा वैल्यू प्रिंट करने की जरूरत है। नीचे चर्चा के अनुसार दो दृष्टिकोण हैं दृष्टिकोण 1:Collections.counter() फ़ंक्शन का उपयोग करना उदाहरण # collections module

  1. एक शब्दकोश में उच्चतम 3 मान खोजने के लिए पायथन प्रोग्राम

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

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

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