কম্পিউটার টিউটোরিয়াল

পাইথনে ইন্টিজার গ্রুপিং (Group Integers) সমস্যা সমাধান


মান লো যাক আমাদের nums নামক একটি সংখ্যার তালিকা আছে, আমাদের যাচাই করতে হবে আমরা কি তালিকাটিকে ১ বা অধিক গ্রুপে ভাগ করতে পারি যাতে: 1. প্রতিটি গ্রুপের আকার ২-এর চেয়ে বড় বা সমান। 2. সব গ্রুপের আকার একই। 3. প্রতিটি গ্রুপে থাকা সব সংখ্যা একই।

उदाहरण के लिए, यदि इनपुट है [3, 4, 6, 9, 4, 3, 6, 9], तो आउटपुट होगा True।

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

  • counts := एक मैप जहां प्रत्येक कुंजी विशिष्ट तत्व हैं और मान उनकी आवृत्तियाँ हैं
  • temp := 0
  • counts में प्रत्येक काउंट के लिए, करें
    • यदि temp, 0 के समान है, तो
      • temp := counts[count]
    • अन्यथा,
      • temp := counts[count] और temp का gcd
    • यदि temp, 1 के समान है, तो
      • False वापस करें
  • True वापस करें

বेहतर বোঝার জন্য নিম্নলিখিত বাস্তবায়ন देखুন:

উদাহরণ

from collections import Counter import math class Solution:    def solve(self, nums):       counts = Counter(nums)       temp = 0       for count in counts:          if temp == 0:             temp = counts[count]          else:             temp = math.gcd(counts[count], temp)             if temp == 1:                return False       return True ob = Solution() L = [3, 4, 6, 9, 4, 3, 6, 9] print(ob.solve(L))

ইনপুট

[3, 4, 6, 9, 4, 3, 6, 9]

আউটপুট

True

  1. পাইথনে search ফাংশন

  2. পাইথনে দুটি ইন্টিজারের যোগফল (অপারেটর ছাড়া)

  3. পাইথনে বাইনারি ট্রির ম্যাক্সিমাম ডেপথ (Maximum Depth of Binary Tree)

  4. পাইথনে গ্রুপ ডেটাবেস এক্সেস