สมมติว่าเรามีอาร์เรย์ของตัวเลขที่ไม่เรียงลำดับที่เรียกว่า nums เราต้องตรวจสอบว่ามีค่าต่อเนื่องกันหรือไม่ ควรรองรับค่าลบด้วย
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[-3, 5, 1, -2, -1, 0, 2, 4, 3] ผลลัพธ์จะเป็นจริงเนื่องจากองค์ประกอบคือ 3, 4, 5, 6, 7, 8.
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ขนาด :=ขนาดของตัวเลข
- init_term :=inf
- สำหรับฉันในช่วง 0 ถึงขนาด ทำ
- ถ้า nums[i]
- init_term :=nums[i]
- ถ้า nums[i]
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
def solve(nums): size = len(nums) init_term = 999999 for i in range(size): if nums[i] < init_term: init_term = nums[i] ap_sum = (size * (2 * init_term + (size - 1) * 1)) // 2 total = sum(nums) return ap_sum == total nums = [-3, 5, 1, -2, -1, 0, 2, 4, 3] print(solve(nums))
อินพุต
[-3, 5, 1, -2, -1, 0, 2, 4, 3]
ผลลัพธ์
True