สมมติว่าเรามีอาร์เรย์ที่เรียกว่า nums โดยมีค่าการเรียงลำดับเชิงบวกที่เพิ่มขึ้นอย่างเคร่งครัด และยังมีจำนวนเต็ม k ด้วย เราต้องหาจำนวนเต็มบวก k ที่หายไปจากอาร์เรย์นี้
ดังนั้น หากอินพุตเป็น nums =[1,2,4,8,12], k =6 ผลลัพธ์จะเป็น 10 เพราะตัวเลขที่หายไปคือ [3,5,6,7,9,10,11 ] เทอมที่ 6 คือ 10
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
nums :=ชุดใหม่จากองค์ประกอบที่มีอยู่ใน nums
-
นับ :=0
-
num :=1
-
ในขณะที่นับ
-
ถ้า num ไม่เป็น num แล้ว
-
นับ :=นับ + 1
-
-
ถ้านับเท่ากับ k แล้ว
-
ส่งคืนหมายเลข
-
-
num :=num + 1
-
-
ส่งคืนหมายเลข
ตัวอย่าง (Python)
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
def solve(nums, k): nums = set(nums) count = 0 num = 1 while count < k: if num not in nums: count += 1 if count == k: return num num += 1 return num nums = [1,2,4,8,12] k = 6 print(solve(nums, k))
อินพุต
[1,2,4,8,12], 6
ผลลัพธ์
10