30
สร้างจำนวนเต็มที่ไม่ใช่หนึ่งในสี่พันล้านที่ได้รับ
ฉันได้รับคำถามสัมภาษณ์นี้: ให้อินพุตไฟล์ที่มีจำนวนเต็มสี่พันล้านชุดให้อัลกอริทึมในการสร้างจำนวนเต็มซึ่งไม่ได้อยู่ในไฟล์ สมมติว่าคุณมีหน่วยความจำ 1 GB ติดตามสิ่งที่คุณจะทำถ้าคุณมีหน่วยความจำเพียง 10 MB การวิเคราะห์ของฉัน: ขนาดของไฟล์คือ 4 × 10 9 × 4 ไบต์ = 16 GB เราสามารถทำการจัดเรียงภายนอกได้ดังนั้นจึงแจ้งให้เราทราบช่วงของจำนวนเต็ม คำถามของฉันคือวิธีที่ดีที่สุดในการตรวจจับจำนวนเต็มหายไปในชุดจำนวนเต็มเรียงลำดับขนาดใหญ่? ความเข้าใจของฉัน (หลังจากอ่านคำตอบทั้งหมด): สมมติว่าเรากำลังพูดถึงจำนวนเต็ม 32 บิตมี 2 32 = 4 * 10 9จำนวนเต็มชัดเจน กรณีที่ 1: เรามี 1 GB = 1 * 10 9 * 8 บิต = หน่วยความจำ 8 …