কম্পিউটার

পাইথনে সমস্ত অ্যারে উপাদানকে সমান করতে প্রয়োজনীয় ক্রিয়াকলাপগুলির সংখ্যা৷


আমরা উপাদানগুলির একটি অ্যারে দিয়েছি, এবং আমাদেরকে উপাদানগুলিকে 1 দ্বারা বৃদ্ধি করে সেগুলিকে সমান করতে হবে৷ আমাদের প্রতিটি ধাপে n - 1 উপাদান বৃদ্ধি করার অনুমতি দেওয়া হয়েছে৷ আমাদের লক্ষ্য হল সমস্ত অ্যারের উপাদানগুলিকে সমান করতে প্রয়োজনীয় মোট ক্রিয়াকলাপের সংখ্যা গণনা করা৷

উদাহরণস্বরূপ, আপনি যদি তালিকাটি নেন [1, 2, 3], তবে সমস্ত উপাদানকে সমান করতে তিনটি অপারেশন লাগে। সমস্যার একটাই সমাধান। প্রতিটি ধাপে সবচেয়ে উল্লেখযোগ্য সংখ্যা খুঁজুন এবং বাকি উপাদানগুলিকে 1 দ্বারা বৃদ্ধি করুন। আসুন কোডটি লিখি।

উদাহরণ

def main():
   # intializing the array
   arr = [1, 2, 3]
   # initializing operations count to 0
   no_of_operations = 0
   flag = 0
   # performing the operations on array to make them equal
   while not are_equal(arr):
      flag = 1
      # finding the maximum from the list
      maximum = max(arr)
      # incrementing all the elements except maximum
      for i in range(len(arr)):
         if arr[i] != maximum:
            arr[i] += 1
      # incrementing the operations count by 1
      no_of_operations += 1
   print(no_of_operations) if flag == 0 else print(no_of_operations + 1)
# checking whether all the elements are equal or not
def are_equal(arr):
   global no_of_operations
   for i in range(len(arr) - 1):
      if arr[i] != arr[i + 1]:
         return False
   return True
if __name__ == '__main__':
   main()

আউটপুট

আপনি যদি উপরের প্রোগ্রামটি চালান তবে আপনি নিম্নলিখিত ফলাফল পাবেন৷

3

উপরের পদ্ধতিটি বড় অ্যারের জন্য গণনা করতে আরও সময় নেয়। অ্যারের যোগফল এবং ক্ষুদ্রতম উপাদান খুঁজে বের করে আমরা অপারেশনের সংখ্যা খুঁজে পেতে পারি।

  • অ্যারের সমষ্টি খুঁজুন।
  • অ্যারের সমস্ত উপাদানের মধ্যে ক্ষুদ্রতমটি খুঁজুন।
  • অভিব্যক্তি যোগফল থেকে পাওয়া মানটি প্রিন্ট করুন - (দৈর্ঘ্য - সবচেয়ে ছোট) .

উদাহরণ

নিচের কোডটি দেখুন।

# initializing an array
arr = [1, 2, 3]
# length
length = len(arr)
# sum of element fo the array
elements_sum = sum(arr)
# smallest among all the elements
smallest = min(arr)
# calculating the number of operations
print(elements_sum - (length * smallest))

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফলগুলি পাবেন৷

3

উপসংহার

দ্বিতীয় পদ্ধতি যা আমরা আলোচনা করেছি তা সহজ এবং প্রথম পদ্ধতির তুলনায় কম সময় নেয়। টিউটোরিয়ালটিতে আপনার কোন সন্দেহ থাকলে, মন্তব্য বিভাগে উল্লেখ করুন।


  1. পাইথনে দুটি স্ট্রিং সমান করতে প্রয়োজনীয় ন্যূনতম সংখ্যক প্রিপ্রসেস চালনা খুঁজুন

  2. পাইথনে অ্যারে জিগজ্যাগ করতে উপাদানগুলি হ্রাস করুন

  3. পাইথনে অ্যারের সমস্ত উপাদানের ফ্রিকোয়েন্সি গণনা করুন

  4. একটি অ্যারের সমস্ত সংখ্যা ব্যবহার করে 3 সংখ্যা দ্বারা বিভাজ্য করা সম্ভব কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম