ทุกคนรู้ว่าการเข้ารหัสความยาวรันคืออะไร มันเป็นเรื่องของการแข่งขันกอล์ฟโค๊ด เราจะดูรูปแบบที่แน่นอน
ตัวอย่าง
Normal: 11222222222222222222233333111111111112333322
Run-length: 112(19)3(5)1(11)2333322
จำนวนในวงเล็บระบุจำนวนครั้งที่สัญลักษณ์ก่อนหน้าเกิดขึ้น ในตัวอย่างมีการเข้ารหัสเฉพาะอักขระ 5 ตัวขึ้นไป นี่เป็นเพราะการเข้ารหัสการรัน 4 หรือน้อยกว่านั้นไม่ช่วยปรับปรุงการนับจำนวนตัวอักษร
ท้าทาย
เขียนฟังก์ชั่น / โปรแกรมที่ใช้รูปแบบของการเข้ารหัสแบบ run-length แต่ยังสามารถเข้ารหัสการทำงานของสองสัญลักษณ์ การวิ่งของสองสัญลักษณ์จะต้องอยู่ในวงเล็บด้วย กลุ่มจะถูกล้อมรอบด้วยวงเล็บ โปรแกรมของคุณต้องยอมรับสตริงเป็นอินพุตและเอาต์พุตสตริงที่ถูกแก้ไขด้วยการแก้ไขที่ทำให้สตริงสั้นลง
ตัวอย่าง
Normal: 111244411144411144411167676767222222277777222222277777123123123123
Double run-length: 1112((444111)(3))67676767((2(7)7(5))(2))123123123123
หมายเหตุ
111ไม่ได้เข้ารหัสเพราะการเข้ารหัสมัน (1(3)) ไม่สั้น- สตริง
444111เกิดขึ้น 3 ครั้งดังนั้นจึงถูกเข้ารหัส 676767ไม่ได้เข้ารหัสเพราะ((67)(4))มีความยาวมากกว่าเดิม222222277777222222277777((222222277777)(2))ไม่ได้ถูกเข้ารหัสเป็น ทำไม? เพราะ222222277777ตัวเองสามารถลด2(7)7(5)ได้123123123123ไม่ได้เข้ารหัสเพราะโปรแกรมของคุณควรจัดการกับการทำงานของสองสัญลักษณ์ไม่ใช่สามอย่าง
นี่คือ รหัสกอล์ฟรหัสที่สั้นที่สุดจึงชนะ Tie-breaker เป็นการส่งเร็ว
หากฉันพลาดอะไรหรือคุณไม่แน่ใจในสิ่งใดโปรดแจ้งให้ฉันทราบในความคิดเห็น
เราจะต้องจัดการ
—
รั่วแม่ชี
441444144414-> ((4414)(3))หรือไม่
ฉันได้แก้ไขแล้ว
—
ericw31415
@ KennyLau ไม่คุณจะไม่ทำ
—
ericw31415
4414ในทางเทคนิคเป็นชุดของ 4 ถ้อยคำของฉันไม่ดี
สามารถ
—
CalculatorFeline
111111111เข้ารหัสเป็น(1)(9)?
67วิ