সমস্যা বিবরণ
একটি সর্টেড সংখ্যার লিস্ট দেওয়া আছে। এর রেঞ্জ থেকে কোনো সংখ্যা অনুপস্থিত আছে কিনা তা বের করতে হবে।
পদ্ধতি ১: range() এবং not in ব্যবহার
listA[0] থেকে listA[-1] পর্যন্ত রেঞ্জে লুপ চালিয়ে not in দিয়ে অনুপস্থিত সংখ্যাগুলো সংগ্রহ করুন।
listA = [1, 5, 6, 7, 11, 14]
res = [x for x in range(listA[0], listA[-1] + 1) if x not in listA]
print("Missing elements:", res) # [2, 3, 4, 8, 9, 10, 12, 13]
পদ্ধতি ২: zip() ব্যবহার
zip(listA, listA[1:]) দিয়ে সन्नিহিত জোড়া নিয়ে পার্থক্য > ১ হলে মাঝপথের সংখ্যাগুলো যোগ করুন।
listA = [1, 5, 6, 7, 11, 14]
res = []
for m, n in zip(listA, listA[1:]):
if n - m > 1:
for i in range(m + 1, n):
res.append(i)
print("Missing elements:", res) # [2, 3, 4, 8, 9, 10, 12, 13]