ฉันได้สัมภาษณ์กับ บริษัท กองทุนป้องกันความเสี่ยงในนิวยอร์กเมื่อไม่กี่เดือนที่ผ่านมาและโชคไม่ดีที่ฉันไม่ได้รับการฝึกงานในฐานะวิศวกรข้อมูล / ซอฟต์แวร์ (พวกเขายังขอให้วิธีการแก้ปัญหาอยู่ในหลาม)
ฉันเมามากขึ้นกับปัญหาการสัมภาษณ์ครั้งแรก ...
คำถาม: รับสตริงเป็นล้านตัวเลข (เช่น Pi) เขียนฟังก์ชัน / โปรแกรมที่ส่งกลับตัวเลข 3 หลักซ้ำและจำนวนการทำซ้ำที่มากกว่า 1
ตัวอย่างเช่น: ถ้าสตริงเป็น: 123412345123456
ดังนั้นฟังก์ชัน / โปรแกรมจะส่งคืน:
123 - 3 times
234 - 3 times
345 - 2 times
พวกเขาไม่ได้ให้คำตอบกับฉันหลังจากที่ฉันสัมภาษณ์ล้มเหลว แต่พวกเขาบอกฉันว่าเวลาในการแก้ปัญหานั้นมีค่าคงที่ 1,000 เนื่องจากผลลัพธ์ที่เป็นไปได้ทั้งหมดอยู่ระหว่าง:
000 -> 999
ตอนนี้ฉันกำลังคิดเกี่ยวกับมันฉันไม่คิดว่ามันเป็นไปได้ที่จะเกิดอัลกอริธึมเวลาคงที่ ใช่ไหม?
They did not give me the solution after I failed the interview, but they did tell me that the time complexity for the solution was constant of 1000 since all the possible outcomes are between: 000 --> 999
นี่น่าจะเป็นการทดสอบจริง เพื่อดูว่าคุณสามารถพิสูจน์ให้พวกเขาเห็นว่าทำไมมันจึงเป็นไปไม่ได้และแสดงให้พวกเขาเห็นถึงความซับซ้อนของเวลาขั้นต่ำที่ถูกต้อง