ความท้าทายนี้จะเกี่ยวข้องกับพลิกแพนเค้ก
คุณอาจเคยได้ยินเรื่องการเรียงแพนเค้กที่กองแพนเค้กเรียงตามขนาดโดยสอดไม้พายเข้าไปในกองแล้วพลิกแพนเค้กทั้งหมดเหนือไม้พายจนกระทั่งแพนเค้กเรียงตัวเล็กที่สุดไปหามากที่สุดบนจาน ปัญหาการเผาแพนเค้กแตกต่างกันเล็กน้อย ตอนนี้แพนเค้กทั้งหมดมีด้านหนึ่งที่ถูกเผาและด้านที่ถูกเผาของแต่ละแพนเค้กจะต้องเผชิญกับจานเมื่อการเรียงเสร็จสมบูรณ์
ตัวอย่างเช่นให้สแต็กต่อไปนี้ (ขนาดของแพนเค้กทางด้านซ้าย0
หมายถึงด้านที่1
ถูกเผาไหม้และความหมายด้านที่ถูกเผาด้านขวา):
1 0
3 1
2 1
คุณอาจพลิกทั้งกองเพื่อให้ได้20 30 11
พลิกด้านบนสุดเพื่อรับ31 21 11
และพลิกทั้งกองอีกครั้งเพื่อให้ได้10 20 30
กองเรียงแพนเค้กเผาไหม้ ลำดับนี้ของการเคลื่อนไหวพลิก 3 พลิก 2 พลิก 3 3 2 3
อาจจะแสดงเป็น
ความท้าทาย
- เมื่อกำหนดขนาดของแพนเค้ก (ไม่จำเป็นต้องไม่ซ้ำกัน) และการวางแนวของมันให้เรียงลำดับการเรียงลำดับการเผาแพนเค้กที่ถูกต้องนั่นคือลำดับการพลิกที่นำไปสู่กองซ้อนของแพนเค้กที่เรียงจากน้อยที่สุดไปมากที่สุด
- อินพุตและเอาท์พุตอาจเป็นรูปแบบใด ๆ ที่มีตัวคั่น แต่โปรดระบุรูปแบบที่คุณใช้และระบุว่ารูปแบบการป้อนข้อมูลใดของคุณอยู่ด้านบนสุดของสแต็ก (TOS)
- อนุญาตให้พลิกแพนเค้กเป็นศูนย์ได้
- อนุญาตให้ใช้ตัวคั่นผสมในอินพุต / เอาต์พุต
กรณีทดสอบ
สำหรับกรณีทดสอบต่อไปนี้ทั้งหมดอินพุตคือรายการและเอาต์พุตเป็นสตริงที่คั่นด้วยช่องว่างและ TOS อยู่ทางด้านซ้าย
[[1, 0], [3, 1], [2, 1]]
"3 2 3"
[[5, 1], [3, 0], [4, 1], [2, 1], [1, 0]]
"5 3 4 1 3 2 1"
[[5, 1], [3, 0], [3, 0], [1, 1]]
"4 3 2 3"
และเช่นเคยหากมีสิ่งใดไม่ชัดเจนหรือไม่ถูกต้องโปรดแจ้งให้เราทราบในความคิดเห็น ขอให้โชคดีและกอล์ฟที่ดี!