pangram เป็นประโยคหรือข้อความที่ตัดตอนมาซึ่งมีตัวอักษรทั้งหมดยี่สิบหกตัวตามที่แสดงในการแข่งขันกอล์ฟรหัสนี้ อย่างไรก็ตามpangrammaticหน้าต่างในรูปแบบของข้อความบางส่วนซึ่งอาจสิ้นสุดหรือเริ่มครึ่งทางผ่านคำซึ่งพบที่ใดที่หนึ่งในงานที่มีขนาดใหญ่กว่า สิ่งเหล่านี้เกิดขึ้นตามธรรมชาติทุกหนทุกแห่งเป็นเซตย่อยที่เหมาะสมของ pangrams จริงดังนั้นเพียงแค่ตรวจสอบว่ามีบางสิ่งที่มีหน้าต่าง pangrammatic จะน่าเบื่อและก็เคยทำมาแล้ว
ดังนั้นเราจึงสนใจที่จะค้นหาข้อความที่เล็กที่สุดที่มีอยู่ในข้อความตามความยาวของตัวอักษร! ในรหัสที่สั้นที่สุดที่เป็นไปได้ไบต์เพื่อให้พอดีกับชุดรูปแบบ
กฎและแนวทาง
- รับสตริงเป็นอินพุตและส่งคืนสตริงของหน้าต่าง pangrammatic ที่เล็กที่สุดในอินพุตหากมีหนึ่งรายการ หากไม่มีให้ส่งคืน Boolean False หรือสตริงว่าง
- ไม่ว่าจะเป็นสตริงเป็นหน้าต่าง pangrammatic หรือไม่เป็นตัวพิมพ์เล็กและตัวใหญ่ขึ้นอยู่กับตัวอักษร 26 ตัวไม่ใช่เครื่องหมายวรรคตอนหรือตัวเลขหรือสัญลักษณ์แปลก ๆ
- ในทำนองเดียวกันความยาวตัวอักษรของหน้าต่าง pangrammatic คือจำนวนทั้งหมดของจำนวนตัวอักษรที่ปรากฏปรากฏในตัวมันเพียงอย่างเดียวและไม่ใช่เพียงจำนวนของตัวละครทุกตัว ค่าที่ส่งคืนต้องน้อยที่สุดตามจำนวนนี้ พวกเราเป็นนักภาษาศาสตร์ไม่ใช่โปรแกรมเมอร์
- อย่างไรก็ตามผลลัพธ์ของหน้าต่าง pangrammatic ต้องเป็นซับสตริงที่แน่นอนของอินพุตที่มีตัวพิมพ์ใหญ่และเครื่องหมายวรรคตอนเดียวกันเป็นต้น
- หากมีหน้าต่าง pangrammatic ที่สั้นที่สุดหลายตัวที่มีความยาวตัวอักษรเดียวกันให้ส่งคืนหนึ่งในนั้น
กรณีทดสอบ
'This isn't a pangram.'
==> False
'Everyone knows about that infamous Quick-Brown-Fox (the one who jumped over some lazy ignoramus of a dog so many years ago).'
==> 'Quick-Brown-Fox (the one who jumped over some lazy ig'
'"The five boxing wizards jump quickly." stated Johnny, before beginning to recite the alphabet with a bunch of semicolons in the middle. "ABCDEFGHI;;;;;;;;;;;;;;;JKLMNOPQRSTUVWXYZ!" he shouted to the heavens.'
==> 'ABCDEFGHI;;;;;;;;;;;;;;;JKLMNOPQRSTUVWXYZ'
Q? มันไม่ได้เพิ่มในการนับตัวอักษร
The five boxing wizards jump quicklyส่งคืน