สมมติว่าเรามีอาร์เรย์ของตัวเลขที่เรียกว่า nums เราต้องตรวจสอบว่าอาร์เรย์ถือองค์ประกอบของแผนผังการค้นหาแบบไบนารีในลำดับการข้ามผ่านภายในหรือไม่
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[5, 8, 15, 18, 20, 26, 39] เอาต์พุตจะเป็น True เนื่องจากเป็นการข้ามผ่านของ
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ขนาด :=ขนาดของตัวเลข
- ถ้าขนาด 0 หรือ 1 แล้ว
- คืนค่า True
- สำหรับฉันในช่วง 1 ถึงขนาด - 1 ทำ
- ถ้า nums[i - 1]> nums[i] แล้ว
- คืนค่าเท็จ
- ถ้า nums[i - 1]> nums[i] แล้ว
- คืนค่า True
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
def solve(nums): size = len(nums) if size == 0 or size == 1: return True for i in range(1, size): if nums[i - 1] > nums[i]: return False return True nums = [5, 8, 15, 18, 20, 26, 39] print(solve(nums))
อินพุต
[5, 8, 15, 18, 20, 26, 39]
ผลลัพธ์
True