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

পাইথন - K মানের কনsekutিভ রেঞ্জ যেগুলো N-এর চেয়ে বড়

একটি লিস্টে নির্দিষ্ট মান K-এর কনsekutিভ (লাগাতার) রেঞ্জগুলো খুঁজে বের করতে হবে যেগুলোর দৈর্ঘ্য N-এর চেয়ে বড় বা সমান। এজন্য enumerate এবং সাধারণ ইটেরেশন ব্যবহার করা হয়।

উদাহরণ

my_list = [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65]
print("The list is :")
print(my_list)

K = 65
N = 3
print("The value of K is ")
print(K)
print("The value of N is ")
print(N)

my_result = []
beg, end = 0, 0
previous = 1

for index, element in enumerate(my_list):
    if element == K:
        end = index
        if previous != K:
            beg = index
    else:
        if previous == K and end - beg + 1 >= N:
            my_result.append((beg, end))
        previous = element

print("The result is :")
print(my_result)

আউটপুট

The list is : [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65]
The value of K is 65
The value of N is 3
The result is : [(4, 10)]

ব্যাখ্যা

  • লিস্ট, K এবং N ডিফাইন করা হয়।
  • খালি রেজাল্ট লিস্ট, previous ভেরিয়েবল, beg এবং end ইনিশিয়ালাইজ করা হয়।
  • enumerate দিয়ে লিস্ট ইটেরেট করা হয়।
  • যদি এলিমেন্ট K-র সমান হয়, end আপডেট হয়। যদি আগেরটা K না হয়, beg সেট হয়।
  • যদি এলিমেন্ট K না হয় এবং আগেরটা K ছিল, তবে রেঞ্জের দৈর্ঘ্য চেক করে রেজাল্টে যোগ করা হয়।
  • ফলাফল: ইন্ডেক্স ৪ থেকে ১০ পর্যন্ত (৭টি) ৬৫ আছে যা N=3-এর চেয়ে বড়।
  1. পাইথনে K-র চেয়ে বড় নম্বরগুলোর ইন্ডেক্স বের করা

  2. পাইথনে টার্গেট থেকে বড় সবচেয়ে ছোট অক্ষর (Find Smallest Letter Greater Than Target)

  3. পাইথনে লংগেস্ট কনসেকিউটিভ সিকোয়েন্স

  4. পাইথনে K-র চেয়ে বড় প্রথম এলিমেন্টের ইন্ডেক্স বের করা