मान लीजिए कि हमारे पास संख्याओं की एक सूची है, जिसे अंक कहा जाता है, और एक अन्य मान k, हमें यह जांचना होगा कि क्या सूची को उप-सूचियों की सूची में विभाजित करना संभव है, जैसे कि प्रत्येक उपन्यास की लंबाई ≥ k है और यह सख्ती से बढ़ रहा है। सूची को लगातार विभाजित करने की आवश्यकता नहीं है।
इसलिए, यदि इनपुट nums =[6, 7, 5, 10, 13] k =2 जैसा है, तो आउटपुट सही होगा, क्योंकि विभाजन [5, 6] और [7, 10, 13] है।पी>
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- c :=एक नक्शा जिसमें अंकों के तत्व और उसकी गणना होती है
- max_count :=c की सभी आवृत्तियों का अधिकतम
- सही लौटें जब max_count * k <=अंकों का आकार अन्यथा गलत हो
उदाहरण (पायथन)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
from collections import Counter class Solution: def solve(self, nums, k): c = Counter(nums) max_count = max([v for k, v in c.items()]) return max_count * k <= len(nums) ob = Solution() nums = [6, 7, 5, 10, 13] k = 2 print(ob.solve(nums, k))
इनपुट
[6, 7, 5, 10, 13], 2
आउटपुट
False