ปุ่มลัดเมนู
ตามเนื้อผ้าเมนูผู้ใช้สามารถเข้าถึงได้โดยใช้แป้นพิมพ์ลัดเช่นAlt + (a letter)หรือแม้แต่กดปุ่มตัวอักษรเมื่อกล่องข้อความทั้งหมดไม่มีการโฟกัส ( สไตล์gmail )
งานของคุณ
เมื่อได้รับรายการเมนูเป็นอินพุตงานของคุณคืออนุญาตให้แต่ละรายการเมนูมีตัวอักษรลัดที่เหมาะสม
เขียนฟังก์ชั่นหรือโปรแกรมที่รับชุดคำ - รายการเมนู (เป็นอาร์เรย์ของสตริงหรือเทียบเท่าภาษาของคุณ) และส่งคืนพจนานุกรมหรือ hashmap จากตัวอักษรตัวเดียวไปยังรายการเมนู
คุณสามารถใช้พารามิเตอร์และส่งคืนค่าหรือใช้ STDIN และส่งออกผลลัพธ์ของคุณไปยัง STDOUT คุณไม่ได้รับอนุญาตให้สันนิษฐานว่าตัวแปรโกลบอล / ขอบเขตได้รับการป้อนข้อมูลเรียบร้อยแล้ว
อัลกอริทึมเพื่อกำหนดตัวอักษรที่เหมาะสม
- โดยทั่วไปมันเป็นตัวอักษรตัวแรกของคำ ดูสมมติฐานและตัวอย่างด้านล่าง
(a letter) + (a number)ในกรณีที่ตัวอักษรของรายการทั้งหมดจะไม่สามารถใช้ทางลัดจะ ตัวอักษรใดที่คุณเลือกจากรายการนั้นเป็นกฎเกณฑ์ ตัวเลขควรเริ่มต้นจาก 0 และเพิ่มขึ้นทีละ 1 - เช่นนั้นทางลัดทั้งหมดจะไม่ซ้ำกัน ดูตัวอย่างที่สามด้านล่าง
สมมติฐาน
- การป้อนข้อมูลจะเป็นชุดคือไม่มีการซ้ำทุกรายการไม่ซ้ำกัน
- ความยาวของอินพุตอาจเป็นจำนวนเต็มใด ๆ ที่ไม่เป็นลบ (มากถึง MAX_INT ของภาษาของคุณ)
- การพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่: อินพุตเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ (แต่จะไม่ซ้ำกันเมื่อไม่สนใจขนาดตัวพิมพ์) ผลลัพธ์ควรมีรายการต้นฉบับพร้อมเคสต้นฉบับ อย่างไรก็ตามตัวอักษรช็อตคัตเอาท์พุทไม่คำนึงถึงขนาดตัวพิมพ์
- คำที่ป้อนทั้งหมดจะไม่ลงท้ายด้วยตัวเลข
- จะไม่มีการทดสอบ "อินพุตที่ชั่วร้าย" "การป้อนข้อมูลที่ชั่วร้าย" เป็นสิ่งที่คุณต้องเพิ่มตัวนับจำนวนจดหมายมากกว่า 10 ครั้ง
ตัวอย่าง
ตัวอย่างด้านล่างนี้อยู่ใน JSON แต่คุณสามารถใช้ภาษาของคุณเทียบเท่ากับอาร์เรย์และพจนานุกรมหรือ - ในกรณีที่คุณใช้ STD I / O - รูปแบบที่สามารถอ่านได้สำหรับอินพุตและเอาต์พุตของคุณ (เช่น csv หรือแม้แต่ space- ค่าที่แยกจากกัน)
1
Input: ['File', 'Edit', 'View', 'Help']
Output: {f:'File', e:'Edit', v:'View', h:'Help'}
2
Input: ['Foo', 'Bar', 'FooBar', 'FooBars']
Output: {f:'Foo', b:'Bar', o:'FooBar', a:'FooBars'}
3
Input: ['a', 'b', 'aa', 'bb', 'bbq', 'bbb', 'ba']
Output: {a:'a', b:'b', a0:'aa', b0:'bb', q:'bbq', b1:'bbb', b2:'ba'}
เงื่อนไขการชนะ
รหัสที่สั้นที่สุดชนะ อนุญาตให้ใช้ ASCII เท่านั้น
['ab', 'a']ให้{a:'ab', a0:'a'}หรือ{b:'ab', a:'a'}?