13
บัฟเฟอร์กันน้ำล้น
พื้นหลัง โปรแกรมเมอร์ทุกวันนี้ดูเหมือนจะไม่สามารถทำให้บัฟเฟอร์ตรงได้! แหล่งที่มาของข้อผิดพลาดทั่วไปพยายามที่จะใช้ดัชนีอาร์เรย์ที่มีขนาดใหญ่เกินไปสำหรับบัฟเฟอร์ งานของคุณคือการใช้บัฟเฟอร์ที่ดัชนีขนาดใหญ่จะลดลงเป็นขนาดที่บัฟเฟอร์สามารถจัดการได้ เนื่องจากฉันตัดสินใจว่าสิ่งที่ดีที่สุดสำหรับทุกคนคุณจะใช้บัฟเฟอร์นี้กับข้อมูลจำเพาะที่แม่นยำของฉัน ภาพรวม คุณมีบัฟเฟอร์แบบแทรกเท่านั้นที่มีขนาดโตขึ้นเมื่อองค์ประกอบถูกเพิ่มเข้าไป บัฟเฟอร์มีค่าดัชนีเป็นศูนย์และทำดัชนีโมดูโลขนาดปัจจุบัน กฎพิเศษสำหรับความท้าทายนี้คือ: เพื่อแทรกรายการที่ดัชนีฉันหมายถึงการคำนวณเจ , j = i % buffer.length()และแทรกรายการใหม่หลังจากที่jthรายการในรายการ กรณีพิเศษเท่านั้นคือถ้าบัฟเฟอร์ว่างเปล่าเนื่องจากเลขศูนย์ modulo ไม่ทำงาน ดังนั้นหากบัฟเฟอร์ปัจจุบันว่างรายการใหม่จะเป็นดัชนี0 หากบัฟเฟอร์มีเพียงหนึ่งไอเท็มคุณจะแทรกหลังจากไอเท็ม0เสมอ นี่เป็นเพียงตัวอย่างเดียวของกรณีทั่วไป หากบัฟเฟอร์มี 6 รายการ: [4, 9, 14, 8, 5, 2]และคุณได้รับคำสั่งให้แทรกรายการใหม่10ที่ดัชนี15คุณจะพบว่า15 % 6 == 3จากนั้นแทรกรายการใหม่10หลังจาก8ที่ดัชนี3ซึ่งให้บัฟเฟอร์ที่เป็นผลลัพธ์ของ [4, 9, 14, 8, 10, 5, 2] ปัญหา เขียนฟังก์ชั่นหรือโปรแกรมที่ใช้ในรายการสั่งซื้อจำนวนเต็มบวกและดัชนีจำนวนเต็มบวกที่จะแทรก เริ่มต้นด้วยบัฟเฟอร์ที่ว่างเปล่าและเพิ่มจำนวนเต็มที่ระบุไปยังบัฟเฟอร์ที่ดัชนีที่สอดคล้องกัน เอาต์พุตรายการลำดับของจำนวนเต็มที่อยู่ในบัฟเฟอร์หลังจากทำการแทรกที่ระบุทั้งหมดแล้ว นี่คือความท้าทายของรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ แนวทางการป้อนข้อมูล …
23
code-golf