ท้าทาย:
รับจำนวนเต็มบวกเอาท์พุทการเรียงลำดับเลขหลักเดียวที่ยาวที่สุดที่เกิดขึ้นอย่างน้อยสองครั้งและมีขอบเขตของตัวเลขอื่น (หรือจุดเริ่มต้น / สิ้นสุดของจำนวนเต็ม)
ตัวอย่าง:
อินพุต: 7888885466662716666
การเรียงลำดับที่ยาวที่สุดของหลักเดียวคือ88888( 7[88888]5466662716666) ที่มีความยาว 5 อย่างไรก็ตามการเรียงลำดับนี้จะเกิดขึ้นเพียงครั้งเดียวในจำนวนเต็ม
แต่ผลลัพธ์ของอินพุต7888885466662716666ควรเป็น6666( 78888854[6666]271[6666]) เนื่องจากเกิดขึ้น (อย่างน้อย) สองครั้ง
กฏท้าทาย:
- ความยาวขององค์ประกอบจะมีความสำคัญมากกว่าจำนวนครั้งที่มันเกิดขึ้น (เช่นมีอินพุต
8888858888866656665666เราเอาต์พุต88888([88888]5[88888]66656665666; ความยาว 5 เกิดขึ้นสองครั้ง) และไม่ใช่666(88888588888[666]5[666]5[666]; ความยาว 3 เกิดขึ้นสามครั้ง) - หากความยาวของหลายองค์ประกอบเท่ากันเราจะแสดงผลลัพธ์ที่มีการนับเหตุการณ์มากที่สุด เช่นกับอินพุท
3331113331119111เราเอาท์พุท111(333[111]333[111]9[111]; ความยาว 3, เกิดขึ้นสามครั้ง), และไม่ใช่333([333]111[333]1119111; ความยาว 3 ด้วย, แต่เกิดขึ้นสองครั้ง) - หากจำนวนการเกิดและความยาวของหลายองค์ประกอบเท่ากันคุณสามารถส่งออกอย่างใดอย่างหนึ่งของพวกเขาหรือทั้งหมด (ในลำดับใด ๆ ) เช่นอินพุต
777333777333, เอาต์พุตที่เป็นไปได้คือ:777;333;[777, 333];[333, 777]หรือ - ลำดับจะต้องมีขอบเขตของตัวเลขอื่น ๆ (หรือจุดเริ่มต้น / สิ้นสุดของจำนวนเต็ม) นั่นคือการป้อนข้อมูล
122222233433ผลลัพธ์คือ33(1222222[33]4[33]; ความยาว 2, เกิดขึ้นสองครั้ง) และไม่ใช่222(1[222][222]33433, ความยาว 3, เกิดขึ้นสองครั้งโดยที่ไม่ถูกต้องทั้งคู่)- สิ่งนี้ใช้กับตัวเลขทั้งหมดที่นับรวมกับตัวนับเหตุการณ์ นั่นคือการป้อนข้อมูล
811774177781382ผลลัพธ์คือ8([8]117741777[8]13[8]2; ความยาว 1, เกิดขึ้นสามครั้ง) และไม่ใช่77(811[77]41[77]781382/811[77]417[77]81382; ความยาว 2, เกิดขึ้นสองครั้งด้วยหนึ่งครั้งไม่ถูกต้อง) หรือ1(8[1][1]774[1]7778[1]382; ความยาว 1, เกิดขึ้นสี่ครั้งโดยมีสองครั้งไม่ถูกต้อง)
- สิ่งนี้ใช้กับตัวเลขทั้งหมดที่นับรวมกับตัวนับเหตุการณ์ นั่นคือการป้อนข้อมูล
- คุณสามารถสมมติว่าการป้อนข้อมูลจะไม่มีตัวเลขใด ๆ
0(มันจะตรงกับ[1-9]+) (นี่คือเพื่อหลีกเลี่ยงการจัดการกับกรณีทดสอบเช่น10002000ที่ควรส่งออก000ซึ่งภาษาส่วนใหญ่จะส่งออก0โดยค่าเริ่มต้น) - คุณสามารถสมมติว่าอินพุตจะมีเอาต์พุตที่ถูกต้องอย่างน้อยหนึ่งรายการเสมอ
- I / O มีความยืดหยุ่น สามารถเป็นรายการ / อาร์เรย์ / สตรีมของตัวเลข / ไบต์ / ตัวอักษรหรือเป็นสตริงแทนที่จะเป็นจำนวนเต็มเดียว
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษาโค้ดกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานจะใช้สำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชั่น / วิธีการที่มีพารามิเตอร์ที่เหมาะสมและชนิดผลตอบแทนโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ
- นอกจากนี้ขอแนะนำให้เพิ่มคำอธิบายสำหรับคำตอบของคุณ
กรณีทดสอบ:
Input: 7888885466662716666 / [7,8,8,8,8,8,5,4,6,6,6,6,2,7,1,6,6,6,6]
Output: 6666 / [6,6,6,6]
Input: 3331113331119111 / [3,3,3,1,1,1,3,3,3,1,1,1,9,1,1,1]
Output: 111 / [1,1,1]
Input: 777333777333 / [7,7,7,3,3,3,7,7,7,3,3,3]
Possible outputs: 777; 333; [777,333]; [333;777] / [7,7,7]; [3,3,3]; [[7,7,7],[3,3,3]]; [[3,3,3],[7,7,7]]
Input: 122222233433 / [1,2,2,2,2,2,2,3,3,4,3,3]
Output: 33 / [3,3]
Input: 811774177781382 / [8,1,1,7,7,4,1,7,7,7,8,1,3,8,2]
Output: 8 / [8]
Input: 555153333551 / [5,5,5,1,5,3,3,3,3,5,5,1]
Output: 1 / [1]
Input: 12321 / [1,2,3,2,1]
Possible outputs: 1; 2; [1,2]; [2,1] / [1]; [2]; [[1],[2]]; [[2],[1]]
Input: 944949949494999494 / [9,4,4,9,4,9,9,4,9,4,9,4,9,9,9,4,9,4]
Output: 4 / [4]
Input: 8888858888866656665666 / [8,8,8,8,8,5,8,8,8,8,8,6,6,6,5,6,6,6,5,6,6,6]
Output: 88888 / [8,8,8,8,8]
Input: 1112221112221111 / [1,1,1,2,2,2,1,1,1,2,2,2,1,1,1,1]
Output: 111; 222; [111,222]; [222,111] / [1,1,1]; [2,2,2]; [[1,1,1],[2,2,2]]; [[2,2,2],[1,1,1]]
Input: 911133111339339339339339 / [9,1,1,1,3,3,1,1,1,3,3,9,3,3,9,3,3,9,3,3,9,3,3,9]
Output: 111 / [1,1,1]
222เมื่อถูก จำกัด ด้วยจำนวนเต็มอื่น ๆ 1111ผมคิดว่าเราก็ไม่ควรนับการเกิดที่เป็นย่อยของ ดีกว่ารอ OP แม้ว่าแน่นอน
1112221112221111เหล่านี้เป็น subsequences 1111 (1)และจำนวนของพวกเขา111 (2), 222 (2), เนื่องจากเราเพียง 111แต่เอาท์พุทลำดับที่เกิดขึ้นอย่างน้อยสองครั้งที่ส่งออกสามารถเป็นหนึ่งใน: 222, [111,222], [222,111], (ดูกฎสี่สำหรับข้อมูลเพิ่มเติม.) โดยทั่วไป1111เท่านั้นที่เคยจะนับเป็น1111และไม่เป็น1และ111หรือและ11 11ฉันจะเพิ่มกรณีทดสอบของคุณ แต่ส่งออกเป็นอย่างใดอย่างหนึ่งหรือทั้งสองและ111 222
8888858888866656665666กรณีทดสอบที่แนะนำ: หากฉันตีความความท้าทายอย่างถูกต้องทั้งโซลูชั่น Brachylog และ 05AB1E ล้มเหลว