คำถามนี้ขอฟังก์ชั่นการจับคู่พจนานุกรม T9 ซึ่งเป็นปัญหาที่น่าสนใจมาก แต่ T9 มีวิธีพิมพ์อีกวิธีหนึ่งและนั่นคือการพิมพ์ตัวอักษรต่ออักขระ คุณไม่จำเป็นต้องใช้พจนานุกรมในการใช้คีย์บอร์ดนี้
นี่คือคีย์แผนที่ของแป้นพิมพ์ T9 หากคุณลืม:
+-------+-------+-------+
| 1 | 2 | 3 |
| .?! | ABC | DEF |
+-------+-------+-------+
| 4 | 5 | 6 |
| GHI | JKL | MNO |
+-------+-------+-------+
| 7 | 8 | 9 |
| PQRS | TUV | WXYZ |
+-------+-------+-------+
| * | 0 | # |
| ← | SPACE | → |
+-------+-------+-------+
T9 ทำงานอย่างไร
ในการพิมพ์อักขระด้วย T9 คุณจะต้องกดปุ่มตัวเลขเพื่อแสดงn
เวลานั้น n
คือลำดับของอักขระที่เขียนบนคีย์นั้น ตัวเลขเป็นอักขระตัวสุดท้ายที่คุณสามารถพิมพ์สำหรับแต่ละคีย์ ตัวอย่างเช่นในการพิมพ์B
ฉันกด2
สองครั้งหรือพิมพ์5
ฉันกด5
สี่ครั้ง #
เมื่อเสร็จสิ้นการพิมพ์ตัวละครตัวนี้ผมกด *
เป็นเพียง backspace ในคีย์บอร์ดรุ่นของเราไม่มีตัวพิมพ์ใหญ่
ตัวอย่างอินพุตและเอาต์พุต:
8#99999#055#33#999#22#666#2#777#3# → T9 KEYBOARD
คำอธิบาย:
8
เลือกT
และ#
ย้ายไปยังตัวละครถัดไป99999
เลือกอักขระตัวสุดท้ายของ9
คีย์ซึ่งคือ9
และ#
ย้ายไปยังอักขระตัวถัดไป0
แทรกช่องว่าง33
เลือกอักขระตัวที่สองของ3
คีย์ซึ่งคือK
และ#
ย้ายไปยังอักขระถัดไป- และอื่น ๆ ...
กฎระเบียบ
ฟังก์ชั่นหรือโปรแกรมของคุณควรยอมรับสตริงที่เป็นตัวแทนของปุ่มกด T9 เอาท์พุทเป็นข้อความที่เกิดจากการกดปุ่มเหล่านั้นตามที่ระบุไว้ข้างต้น
นี่คือรหัสกอล์ฟพื้นฐานดังนั้นผู้ชนะจะสั้นที่สุดในหน่วยไบต์และใช้กฎ / ช่องโหว่มาตรฐาน
T9 KEYBOARD
ผิดอย่างสมบูรณ์ สิ่งนั้นอ่านT9 JEYBARD
#
หากปุ่มต่อเนื่องแตกต่างกัน ที่ถูกกล่าวว่า: โดยไม่ต้องโบนัสที่สิ่งที่ควรจะเกิดขึ้นถ้า#
ถูกละไว้?