สมมติว่าเรามีรายการหมายเลขที่เรียกว่า nums เราต้องตรวจสอบว่าองค์ประกอบที่มีอยู่ใน nums กำลังสร้างซีรี่ส์ AP หรือไม่ ดังที่เราทราบในอนุกรม AP (ความก้าวหน้าทางคณิตศาสตร์) ความแตกต่างทั่วไประหว่างสององค์ประกอบที่ต่อเนื่องกันจะเหมือนกัน
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[9,1,17,5,13] ผลลัพธ์จะเป็น True เพราะหากเราจัดเรียงมัน มันจะเป็น [1,5,9,13,17] และส่วนรวม ความแตกต่างคือ 4 สำหรับองค์ประกอบแต่ละคู่
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
nums :=เรียงลำดับรายการ nums
-
ถ้าจำนวนขององค์ประกอบใน nums> 1 แล้ว
-
const :=nums[1] - nums[0]
-
-
มิฉะนั้น
-
คืนค่า True
-
-
สำหรับฉันในช่วง 0 ถึงขนาดของ nums -1 ทำ
-
ถ้า nums[i+1] - nums[i] ไม่เหมือนกับ const แล้ว
-
คืนค่าเท็จ
-
-
-
คืนค่า True
ตัวอย่าง (Python)
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
def solve(nums): nums = sorted(nums) if len(nums) > 1: const = nums[1] - nums[0] else: return True for i in range(len(nums)-1): if nums[i+1] - nums[i] != const: return False return True nums = [9,1,17,5,13] print(solve(nums))
อินพุต
[9,1,17,5,13]
ผลลัพธ์
True