কম্পিউটার

পাইথনে অ্যারের উপাদানগুলি O(n) সময় এবং O(1) স্থান (ধনাত্মক এবং ঋণাত্মক উভয় সংখ্যাই পরিচালনা করে) পরপর আছে কিনা তা পরীক্ষা করুন


ধরুন আমাদের কাছে সাজানো সংখ্যার একটি অ্যারে আছে যাকে nums বলা হয়। এটিতে সংলগ্ন মান রয়েছে কিনা তা আমাদের পরীক্ষা করতে হবে, এটি ঋণাত্মক সংখ্যাকেও সমর্থন করবে।

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[-3, 5, 1, -2, -1, 0, 2, 4, 3], তাহলে আউটপুটটি সত্য হবে কারণ উপাদানগুলি 3, 4, 5, 6, 7, 8.

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • আকার :=সংখ্যার আকার
  • init_term :=inf
  • আমি 0 থেকে আকারের রেঞ্জের জন্য,
      করুন
    • যদি nums[i]
    • init_term :=সংখ্যা[i]
  • ap_sum :=(আকার * (2 * init_term + (আকার - 1) * 1)) / 2) এর ভাগফল
  • মোট :=সংখ্যার সমস্ত উপাদানের যোগফল
  • যখন ap_sum মোটের সমান হয় অন্যথায় মিথ্যা
  • তখন সত্য প্রত্যাবর্তন করুন

    আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

    উদাহরণ

    def solve(nums):
       size = len(nums)
       init_term = 999999
       for i in range(size):
          if nums[i] < init_term:
             init_term = nums[i]
       ap_sum = (size * (2 * init_term + (size - 1) * 1)) // 2
       total = sum(nums)
       return ap_sum == total
    nums = [-3, 5, 1, -2, -1, 0, 2, 4, 3] 
    print(solve(nums))

    ইনপুট

    [-3, 5, 1, -2, -1, 0, 2, 4, 3]

    আউটপুট

    True

    1. ধনাত্মক এবং ঋণাত্মক সংখ্যা পুনর্বিন্যাস করতে পাইথন প্রোগ্রামে ল্যাম্বডা এক্সপ্রেশন

    2. পাইথন প্রোগ্রামে একটি তালিকায় ইতিবাচক এবং নেতিবাচক সংখ্যা গণনা করুন

    3. একটি তালিকায় ধনাত্মক এবং ঋণাত্মক সংখ্যা গণনা করার জন্য পাইথন প্রোগ্রাম

    4. ধনাত্মক এবং ঋণাত্মক সংখ্যা পুনর্বিন্যাস করতে পাইথনে ল্যাম্বডা এক্সপ্রেশন