นี่เป็นคำถามที่น่าสนใจที่ฉันพบในเว็บ รับอาร์เรย์ที่มีตัวเลข n (โดยไม่มีข้อมูลเกี่ยวกับพวกเขา) เราควรประมวลผลอาร์เรย์ในเวลาเชิงเส้นเพื่อให้เราสามารถคืนองค์ประกอบที่เล็กที่สุดในเวลา O (k) เมื่อเราได้รับหมายเลข 1 <= k <= n
ฉันได้พูดคุยปัญหานี้กับเพื่อนบางคน แต่ไม่มีใครสามารถหาทางออกได้ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม!
บันทึกย่อแบบด่วน: - ลำดับขององค์ประกอบที่เล็กที่สุดของ k นั้นไม่สำคัญ - องค์ประกอบในอาร์เรย์คือจำนวนอาจเป็นจำนวนเต็มและอาจจะไม่ใช่ การประมวลผลล่วงหน้าคือเวลา O (n) ฟังก์ชั่น (ค้นหาองค์ประกอบที่เล็กที่สุด k) ในเวลา O (k)