ধরুন আমরা অনন্য উপাদানের একটি অ্যারে সংখ্যা আছে. আমাদের এই শর্তগুলি সন্তুষ্ট কিনা তা পরীক্ষা করতে হবে:
- উপাদানগুলি 1 থেকে n এর মধ্যে থাকবে।
- অ্যারে ক্রমবর্ধমান ক্রমে সাজানো যাবে না।
সুতরাং, ইনপুট যদি সংখ্যার মত হয় =[2,6,1,5,3,4], তাহলে আউটপুট হবে True।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- n :=সংখ্যার আকার
- মোট :=সংখ্যা[0]
- is_sorted :=সত্য
- 1 থেকে n - 1 রেঞ্জের জন্য,
- করুন
- যদি nums[i] nums[i - 1] এর মত হয়, তাহলে
- মিথ্যে ফেরত দিন
- যদি nums[i]
- is_sorted :=মিথ্যা
- যদি nums[i] nums[i - 1] এর মত হয়, তাহলে
- মোট :=মোট + সংখ্যা[i]
- মিথ্যে ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ কোড
def solve(nums): n = len(nums) total = nums[0] is_sorted = True for i in range(1,n): if nums[i] == nums[i - 1]: return False if nums[i] < nums[i - 1]: is_sorted = False total += nums[i] if is_sorted: return False return total == (n * (n + 1) // 2) nums = [2,6,1,5,3,4] print(solve(nums))
ইনপুট
[2,6,1,5,3,4]
আউটপুট
True