ก่อนหน้านี้ฉันกำหนดกระบวนการในการบดขยี้อาร์เรย์
ในความสนใจเราอ่านอาร์เรย์จากซ้ายไปขวา หาก ณ จุดที่เราพบสององค์ประกอบเดียวกันในแถวที่เราลบหนึ่งและสองครั้งที่สอง
ตัวอย่างเช่นที่นี่เป็นกระบวนการของการบดขยี้อาร์เรย์ต่อไปนี้
[5,2,2,4]
^
[5,2,2,4]
^
[5,2,2,4]
^
[5,4,4]
^
[5,4,4]
^
[5,8]
^
โปรดทราบว่าองค์ประกอบเดียวกันสามารถยุบได้หลายครั้ง ในตัวอย่าง2,2,4
ถูกยุบลง8
ในรอบเดียว
ตอนนี้การบดย่อยอาร์เรย์เป็นเรื่องง่ายอะไรที่ยากคือการบดขยี้พวกเขา งานของคุณคือการใช้อาร์เรย์ของจำนวนเต็มบวกเป็นอินพุทและเอาท์พุทอาเรย์ที่ใหญ่ที่สุดที่สามารถสร้างรูปแบบการป้อนข้อมูลเมื่อบดซ้ำ ๆ ยกตัวอย่างเช่นอาร์เรย์[4]
จะเกิดขึ้นโดยเด็ดขาดซึ่งเป็นในทางกลับกันที่เกิดขึ้นจากการบด[2,2]
[1,1,1,1]
เนื่องจากเราไม่สามารถมีค่าที่ไม่ใช่จำนวนเต็ม[1,1,1,1]
ไม่สามารถ unrushed ใด ๆ เพิ่มเติมและเป็นคำตอบของเรา
คุณจะไม่ได้รับ0
อาร์เรย์ในอินพุทของคุณเพราะอาร์เรย์ดังกล่าวสามารถขยายได้อย่างไม่มีกำหนด คุณจะไม่ได้รับคดีที่มีเลขคี่สองตัวติดกันกรณีดังกล่าวไม่สามารถเป็นผลมาจากการย่อยยับ
นี่คือcode-golfดังนั้นคำตอบจะถูกทำคะแนนด้วยขนาดของแหล่งที่มาของพวกเขาวัดเป็นไบต์ด้วยไบต์ที่น้อยกว่าจะดีกว่า
ก่อนที่คุณจะเริ่มทำคำตอบฉันแค่อยากบอกว่าความท้าทายนี้ยากกว่าที่คิด ตรวจสอบสัญชาติญาณของคุณในขณะที่คุณไปและให้แน่ใจว่าคำตอบของคุณผ่านทุกกรณีทดสอบ
กรณีทดสอบ
[] -> []
[5] -> [5]
[6] -> [3,3]
[8] -> [1,1,1,1,1,1,1,1]
[4,8] -> [1,1,1,1,1,1,1,1,1,1,2]
[2,8] -> [1, 1, 1, 1, 2, 1, 1, 1, 1]
[4,4] -> [1,1,1,1,1,1,1,1]
[1,>1,1,1,1,1,1,1,1,1,2]
, [2,>1,1,1,1,1,1,1,1,2]
, [2,1,>1,1,1,1,1,1,1,2]
, [2,2,>1,1,1,1,1,1,2]
, [2,2,1,>1,1,1,1,1,2]
, [2,2,2,>1,1,1,1,2]
, [2,2,2,1,>1,1,1,2]
, [2,2,2,2,>1,1,2]
, [2,2,2,2,1,>1,2]
, [2,2,2,2,2,>2]
, [2,2,2,2,4>]
, [2,>2,2,2,4]
ผ่านที่สอง: [4,>2,2,4]
, [4,2,>2,4]
, [4,4,>4]
, [4,8>]
, หวังว่าจะล้างมันออก หากคุณต้องการรหัสเพื่อดูคำถามก่อนหน้านี้มีคำตอบที่ใช้ฟังก์ชั่นการบด
[4, 4]
ควรลบกรณีทดสอบออกเนื่องจากเราไม่สามารถหาอาเรย์นั้นได้หลังจากลำดับการยืด => crush เนื่องจากมันจะจบลงด้วย[8]
[1,1,1,1,1,1,1,1,1,1,2]
ผลิต[4, 8]
แทน[8, 4]
? นี้ควรจะเป็น[1,>1,1,1,1,1,1,1,1,1,2]
,[2,1,>1,1,1,1,1,1,1,2]
,[2,>2,1,1,1,1,1,1,2]
,[4,1,>1,1,1,1,1,2]
,[4,2,1,>1,1,1,2]
,[4,2,>2,1,1,2]
,[4,>4,1,1,2]
,[8,1,>1,2]
,[8,2,>2]
,[8,4]
?