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

पायथन में समान आवृत्ति वाले अधिकतम बारंबार तत्व के साथ सबसे छोटे सबलिस्ट की लंबाई खोजने का प्रोग्राम

मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है। यदि nums में सबसे अधिक बारंबार संख्या की आवृत्ति k है। हमें सबसे छोटे सबलिस्ट की लंबाई ढूंढनी है जैसे कि उसके सबसे अधिक बारंबार आइटम की आवृत्ति भी k हो।

इसलिए, यदि इनपुट है nums = [10, 20, 30, 40, 30, 10], तो आउटपुट होगा 3, क्योंकि यहां सबसे अधिक बारंबार संख्याएं 10 और 30 हैं, यहां k = 2। यदि हम सबलिस्ट [30, 40, 30] चुनते हैं तो यह सबसे छोटा सबलिस्ट है जहां 30 मौजूद है और इसकी आवृत्ति भी 2 है।

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

  • L := nums का आकार
  • rnums := nums का रिवर्स
  • d := nums में मौजूद प्रत्येक तत्व की आवृत्तियों वाला एक मैप
  • mx := d के सभी मानों की सूची का अधिकतम
  • vs := प्रत्येक k के लिए k की एक सूची यदि d[k] mx के समान है
  • mn := L
  • vs में प्रत्येक v के लिए, करें:
    • mn := min(mn, (L - (v का इंडेक्स rnums में) - (v का इंडेक्स nums में)))
  • mn लौटाएं

उदाहरण

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

from collections import Counter
def solve(nums):
    L = len(nums)
    rnums = nums[::-1]
    d = Counter(nums)
    mx = max(d.values())
    vs = [k for k in d if d[k] == mx]
    mn = L
    for v in vs:
        mn = min(mn, (L - rnums.index(v)) - nums.index(v))
    return mn
nums = [10, 20, 30, 40, 30, 10]
print(solve(nums))

इनपुट

[10, 20, 30, 40, 30, 10]

आउटपुट

3
  1. टारगेट को धारण करने वाले सबसे छोटे चक्र की लंबाई ज्ञात करने का पायथन प्रोग्राम टारगेट को धारण करने वाले सबसे छोटे चक्र की लंबाई ज्ञात करने का पायथन प्रोग्राम

    मान लीजिए हमारे पास एक निर्देशित ग्राफ की आसन्न सूची है, जहां इंडेक्स i पर प्रत्येक सूची नोड i से जुड़े नोड्स को दर्शाती है। हमारे पास एक टारगेट मान भी है। हमें उस सबसे छोटे चक्र की लंबाई ढूंढनी है जिसमें टारगेट शामिल है। यदि कोई समाधान नहीं है तो -1 लौटाएं। उदाहरण के लिए, यदि इनपुट इस तरह है: tar

  1. - पायथन में एक सबलिस्ट खोजने का प्रोग्राम जहां पहला और अंतिम मान समान हों

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें उन सबलिस्ट की संख्या ढूंढनी है जहां पहला तत्व और अंतिम तत्व समान हैं। उदाहरण के लिए, यदि इनपुट nums = [10, 15, 13, 10] है, तो आउटपुट 5 होगा, क्योंकि समान पहले और अंतिम तत्व वाली सबलिस्ट हैं: [10], [15], [13], [10], [10, 15, 13, 10]। इसे हल

  1. - पायथन में सूची में एक तत्व खोजने का प्रोग्राम जिसका मान उसकी आवृत्ति के बराबर हो

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें जांचना है कि क्या कोई तत्व है जिसकी सूची में आवृत्ति उसके मान के बराबर है या नहीं। उदाहरण के लिए, यदि इनपुट [2, 4, 8, 10, 4, 4, 4] है, तो आउटपुट True होगा। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: res := मान के अनुसार आवृत्ति संग्