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

পাইথনে অ্যারে কনসিকিউটিভ (Consecutive) কিনা যাচাই

একটি অ্যারে nums দেওয়া আছে। এর এলিমেন্টগুলো কনসিকিউটিভ (সlauf) কিনা যাচাই করতে হবে।

উদাহরণ

ইনপুট: nums = [6, 8, 3, 5, 4, 7]

আউটপুট: True

ব্যাখ্যা: সর্টেড হলে [3,4,5,6,7,8]।

অ্যালগরিদম (ভিজিটেড অ্যারে ব্যবহার)

  1. মিন min_val ও ম্যাক্স max_val বের করুন।
  2. যদি max_val - min_val + 1 == len(nums) হয়, তবে কনসিকিউটিভ হতে পারে।
  3. ভিজিটেড অ্যারে (নেগেটিভ মার্কিং) দিয়ে ডুপ্লিকেট চেক করুন।

উদাহরণ কোড

def solve(nums):
    if len(nums) < 1:
        return False
    min_val = min(nums)
    max_val = max(nums)
    if max_val - min_val + 1 == len(nums):
        for i in range(len(nums)):
            if nums[i] < 0:
                j = -nums[i] - min_val
            else:
                j = nums[i] - min_val
            if nums[j] > 0:
                nums[j] = -nums[j]
            else:
                return False
        return True
    return False

nums = [6, 8, 3, 5, 4, 7]
print(solve(nums))  # Output: True

ইনপুট

[6, 8, 3, 5, 4, 7]

আউটপুট

True
  1. পাইথনে চেক করা: লিস্টের সকল উপাদান সমান কিনা

  2. পাইথনে এলিমেন্ট কমিয়ে অ্যারেকে জিগজ্যাগ বানানো

  3. পাইথনে অ্যারে উপাদানগুলো সমান করার জন্য ন্যূনতম মুভ (Minimum Moves to Equal Array Elements II)

  4. পাইথনে চেক করা সব লিস্ট এলিমেন্ট একই কিনা