มี 100 ขั้นตอนซึ่งสามารถทำได้ 1 ขั้นตอนหรือ 2 ขั้นตอนดังนั้นวิธีเดินกี่วิธี?
การสัมภาษณ์ทางโทรศัพท์ของวันนี้ เมื่อคุณพบปัญหาอัลกอริทึมคุณจะสับสนในทันที
จากนั้นฉันก็ฉลาดและคิดว่าถ้ามีคนทำ 1 ขั้นตอนทุกครั้งเขาก็จะมีขั้นตอนมากที่สุด 100 ขั้นตอนและอย่างน้อย 50 ขั้นตอนในแต่ละครั้ง จากนั้นเขาก็ออกไปจากหัวข้อ - - โชคดีที่อีกฝ่ายขัดจังหวะฉันในเวลา - - มิฉะนั้นฉันอาจจะต้องระดมสมองในสิ่งนี้ - - เดินไปจนถึงสีดำ -
จากนั้นฉันกลับถึงบ้าน ถือ Mac ของฉันและคิดอย่างเงียบ ๆ ในที่สุดฉันก็เขียนมันออกมา
var stairs = step ใหม่ (); step function () {this.n1 = 1; this.n2 = 2; this.total = 100; this.getFunction = getFunction;} ฟังก์ชั่น getFunction () {สำหรับ (i = 2; i <this.total; i ++) {res = this.n1+this.n2; this.n1 = this.n2; this.n2 = res; } return res;} var totalstairs = stairs.getFunction (); Alert (TotalStairs)เมื่อมีเพียง 1 ตาราง เพียง 1 ขั้นตอน - - - แค่ประเภทเดียว
เมื่อมีเพียง 2 กล่องคุณสามารถ 1+1 || 2 - - 2 ชนิด
เมื่อมี 3 กริด 1+1+1 || 2+1 || 1+2 - 3 ชนิด
เมื่อ 4 สี่เหลี่ยมคือ 1+1+1+1 || 2+2 || 2+1+1 || 1+1+2 || 1+2+1 - - 5 ชนิด
SN = S (N-1)+S (N-2)
อัลกอริทึม Fibonacci ... จากนั้นก็สามารถใช้ได้
สำหรับ (i = 2; i <this.total; i ++) {res = this.n1+this.n2; this.n1 = this.n2; this.n2 = res;}บางทีฉันอาจไม่เก่งในอัลกอริทึม ~ หากคุณมีการคัดค้านโปรดแก้ไขฉัน
ข้างต้นคือคำถามสัมภาษณ์ JS ที่นำมาให้คุณโดยบรรณาธิการ-เนื้อหาทั้งหมดของระดับอัลกอริทึม ฉันหวังว่าทุกคนจะสนับสนุน wulin.com เพิ่มเติม ~