วันหนึ่งคุณตื่นเท่านั้นที่จะพบว่าตัวเองติดอยู่ในอาเรย์ คุณพยายามที่จะเดินออกไปจากที่นั่นรับดัชนีหนึ่งครั้ง แต่ดูเหมือนว่ามีกฎอื่น ๆ :
อาเรย์นั้นเต็มไปด้วยจำนวนธรรมชาติ
- หากคุณพบว่าตัวเองอยู่ในดัชนี
nคุณไปที่ดัชนีarray[n]ยกเว้น: - หากคุณพบว่าตัวเองอยู่ในดัชนี
nซึ่งเป็นจำนวนเฉพาะคุณทำarray[n]ตามขั้นตอน
ตัวอย่าง: คุณเริ่มต้นกับดัชนี4ในอาร์เรย์นี้ (ดัชนีเริ่มต้นคือ 0):
array = [1,4,5,6,8,10,14,15,2,2,4,5,7];
-----------------^ you are here
เนื่องจากค่าของฟิลด์ที่คุณอยู่คือ8คุณไปที่ดัชนี8เป็นขั้นตอนแรก 2เขตที่ดินคุณมีค่า จากนั้นคุณไปที่ดัชนี2เป็นขั้นตอนที่สองของคุณ ในฐานะที่2เป็นหมายเลขเฉพาะคุณจะย้อนกลับไป 5 ก้าวซึ่งเป็นขั้นตอนที่สามของคุณ เนื่องจากไม่มีดัชนี-3คุณจึงหลีกเลี่ยงอาร์เรย์ในขั้นตอนทั้งหมด 3 ขั้นตอน
งานของคุณคือ:
ในการเขียนโปรแกรมหรือฟังก์ชั่นซึ่งยอมรับอาร์เรย์และดัชนีเริ่มต้นเป็นพารามิเตอร์และส่งออกจำนวนขั้นตอนเพื่อหนีอาร์เรย์ ถ้าคุณไม่สามารถหลบหนีอาร์เรย์ (เช่น[2,0,2]กับการเริ่มต้นดัชนี2=> คุณอย่างต่อเนื่องไปจากดัชนี2การ0) การส่งออกมีมูลค่า falsy คุณอาจใช้การจัดทำดัชนีแบบอิงดัชนีหรือใช้ดัชนีแบบอิงศูนย์ แต่โปรดระบุว่าคุณใช้อะไร
กรณีทดสอบ
การป้อนข้อมูล: [2,5,6,8,1,2,3], 3
เอาท์พุท: 1
การป้อนข้อมูล: [2, 0, 2], 2
เอาท์พุท: false
อินพุต: [14,1,2,5,1,3,51,5,12,3,4,41,15,4,12,243,51,2,14,51,12,11], 5;
เอาท์พุท: 6
คำตอบที่สั้นที่สุดชนะ