Given a width and a block of
text containing possible hyphen-
ation points, format it fully-
justified (in monospace).
การจัดชิดขอบอย่างสมบูรณ์หมายถึงการจัดตำแหน่งชิดซ้ายและขวาและทำได้โดยการเพิ่มระยะห่างระหว่างคำจนกระทั่งแต่ละบรรทัดพอดี
ที่เกี่ยวข้อง:
- ปรับข้อความโดยเพิ่มช่องว่าง
- จัดแนวข้อความให้เป็นบล็อก
- และในทางนี้ถือว่าเป็นขั้นตอนต่อไปในการประมวลผลข้อความ # 1: การใส่ยัติภังค์ (ซึ่งดูเหมือนจะไม่เคยโพสต์)
อินพุต
คุณสามารถป้อนข้อมูลในรูปแบบที่คุณชอบ คุณจะได้รับ:
- ความกว้างเป้าหมาย (เป็นตัวอักษร) ในช่วง 5-100 (รวม)
- บล็อกข้อความที่มีคำที่ใส่ไฮเฟน นี่อาจเป็นสตริงที่คั่นด้วยช่องว่างอาร์เรย์ของคำหรืออาร์เรย์ของอาร์เรย์ของคำในแฟรกเมนต์ (หรือการแสดงข้อมูลอื่น ๆ ที่คุณต้องการ)
อินพุตทั่วไปอาจเป็น:
Width: 25
Text: There's no bu-si-ne-ss lik-e s-h-o-w busine-ss, n-o bus-iness I know.
ในกรณีที่เครื่องหมายยัติภังค์แสดงถึงเครื่องหมายยัติภังค์ที่เป็นไปได้และช่องว่างแสดงถึงขอบเขตของคำ การเป็นตัวแทนทางเลือกที่เป็นไปได้ของข้อความ:
[["There's"], ["no"], ["bu", "si", "ne", "ss"], ["lik", "e"], (etc.)]
เอาท์พุต
ข้อความที่ป้อนด้วยช่องว่างที่เพิ่มระหว่างคำขึ้นบรรทัดใหม่ที่ความกว้างคอลัมน์และจุดการใส่ไฮเฟ็นเพื่อเลือกปรับให้เข้ากับความกว้างคอลัมน์ สำหรับฟังก์ชั่นอาร์เรย์ของสตริง (หนึ่งสำหรับแต่ละบรรทัด) สามารถส่งคืนแทนการใช้การแยกบรรทัดใหม่
เอาต์พุตที่เป็นไปได้สำหรับอินพุตด้านบนอาจเป็น:
There's no business like
show business, no bus-
iness I know.
โปรดทราบว่ายัติภังค์ทั้งหมดได้ถูกลบออกยกเว้นหนึ่งใน "bus-iness" สุดท้ายซึ่งถูกเก็บไว้เพื่อแสดงให้เห็นว่าคำที่ล้อมรอบบรรทัดถัดไปและได้รับเลือกเพื่อให้แน่ใจว่าบรรทัดที่สองมีข้อความมากที่สุด
กฎระเบียบ
ภายในแต่ละบรรทัดจำนวนช่องว่างระหว่างคำไม่สามารถเปลี่ยนแปลงได้มากกว่า 1 แต่ที่คุณแทรกช่องว่างเพิ่มเติมนั้นขึ้นอยู่กับคุณ:
hello hi foo bar <-- not permitted (1,1,5) hello hi foo bar <-- not permitted (2,1,4) hello hi foo bar <-- OK (2,2,3) hello hi foo bar <-- OK (2,3,2) hello hi foo bar <-- OK (3,2,2)
ไม่มีบรรทัดที่สามารถเริ่มต้นหรือลงท้ายด้วยช่องว่าง (ยกเว้นบรรทัดสุดท้ายซึ่งสามารถลงท้ายด้วยช่องว่าง)
บรรทัดสุดท้ายควรเว้นไว้โดยมีช่องว่างเดียวระหว่างแต่ละคำ มันสามารถตามมาด้วยช่องว่างโดยพลการ / ขึ้นบรรทัดใหม่หากต้องการ แต่ไม่จำเป็นต้องใช้
คำจะประกอบด้วย AZ, az, 0-9 และเครื่องหมายวรรคตอนง่าย ๆ (
.,'()&
)คุณสามารถสันนิษฐานได้ว่าจะไม่มีส่วนย่อยของคำใดยาวเกินความกว้างเป้าหมายและจะเป็นไปได้ที่จะเติมบรรทัดตามกฎ (เช่นจะมีอย่างน้อย 2 คำในแต่ละบรรทัดหรือ 1 ชิ้นส่วนที่เติมบรรทัด ได้อย่างสมบูรณ์แบบ)
คุณต้องเลือกจุดยัติภังค์ซึ่งเพิ่มจำนวนตัวอักษรของคำให้มากที่สุดในบรรทัดก่อนหน้า (เช่นคำที่ต้องใช้อย่างตะกละตะกลามโดยบรรทัด) ตัวอย่างเช่น:
This is an input stri-ng with hyph-en-at-ion poi-nts. This is an input stri- <-- not permitted ng with hyphenation points. This is an input string with hyph- <-- not permitted enation points. This is an input string with hyphen- <-- OK ation points.
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
ตัวอย่าง
Width: 20
Text: The q-uick brown fox ju-mp-s ove-r t-h-e lazy dog.
The quick brown fox
jumps over the lazy
dog.
Width: 32
Text: Given a width and a block of text cont-ain-ing pos-sible hyphen-ation points, for-mat it ful-ly-just-ified (in mono-space).
Given a width and a block of
text containing possible hyphen-
ation points, format it fully-
justified (in monospace).
Width: 80
Text: Pro-gram-ming Puz-zles & Code Golf is a ques-tion and ans-wer site for pro-gram-ming puz-zle enth-usi-asts and code golf-ers. It's built and run by you as part of the St-ack Exch-ange net-work of Q&A sites. With your help, we're work-ing to-g-et-her to build a lib-rary of pro-gram-ming puz-zles and their sol-ut-ions.
Programming Puzzles & Code Golf is a question and answer site for programming
puzzle enthusiasts and code golfers. It's built and run by you as part of the
Stack Exchange network of Q&A sites. With your help, we're working together to
build a library of programming puzzles and their solutions.
Width: 20
Text: Pro-gram-ming Puz-zles & Code Golf is a ques-tion and ans-wer site for pro-gram-ming puz-zle enth-usi-asts and code golf-ers. It's built and run by you as part of the St-ack Exch-ange net-work of Q&A sites. With your help, we're work-ing to-g-et-her to build a lib-rary of pro-gram-ming puz-zles and their sol-ut-ions.
Programming Puzzles
& Code Golf is a
question and answer
site for programming
puzzle enthusiasts
and code golfers.
It's built and run
by you as part of
the Stack Exchange
network of Q&A
sites. With your
help, we're working
together to build a
library of program-
ming puzzles and
their solutions.
Width: 5
Text: a b c d e f g h i j k l mm nn oo p-p qq rr ss t u vv ww x yy z
a b c
d e f
g h i
j k l
mm nn
oo pp
qq rr
ss t
u vv
ww x
yy z
Width: 10
Text: It's the bl-ack be-ast of Araghhhhh-hhh-h-hhh-h-h-h-hh!
It's the
black be-
ast of
Araghhhhh-
hhhhhhhhh-
hhh!
anybod-y
มีความกว้าง 7 เราอาจเลือกที่จะส่งออกอย่างใดอย่างหนึ่งanybody
หรือanybod-\ny
?