วัตถุประสงค์ของความท้าทายนี้คือการหาอาร์เรย์ของจำนวนเต็มบวกและแจกแจงดัชนีจัดกลุ่มองค์ประกอบต่างๆ
การแจงนับโดยไม่มีการทำซ้ำใด ๆ ทำได้โดยเพียงแค่ส่งออกอาร์เรย์ของคู่(value, index)
ตัวอย่างเช่น[3, 4, 13, 9, 2]
=>[[3,1],[4,2],[13,3],[9,4],[2,5]]
=>
อย่างไรก็ตามหากองค์ประกอบที่กำหนดปรากฏขึ้นเป็นครั้งที่สองก็จะไม่ได้รับคู่ของมันเอง แต่จะถูกเพิ่มเข้าไปในกลุ่มที่เกิดขึ้นครั้งแรก หากในตัวอย่างข้างต้นเราแทนที่ 9 ด้วย 3 จากนั้นในผลลัพธ์ที่เราจะลบ[9,4]
และแทนที่[3,1]
ด้วย[3,1,4]
ด้วย
ในผลลัพธ์กลุ่มจะต้องเรียงลำดับตามการเกิดขึ้นครั้งแรกและดัชนีจะต้องเรียงลำดับจากน้อยไปหามาก องค์ประกอบจะต้องเป็นอันดับแรกในกลุ่มก่อนที่ดัชนี ผลลัพธ์อาจเป็นดัชนี 0 หรือ 1 คุณอาจถือว่าอาร์เรย์มีองค์ประกอบอย่างน้อยหนึ่งองค์ประกอบ
กรณีทดสอบ:
Input | Output (One-indexed)
[3, 2, 2, 3] | [[3, 1, 4], [2, 2, 3]]
[17] | [[17, 1]]
[1, 1] | [[1, 1, 2]]
[1, 1, 2] | [[1, 1, 2], [2, 3]]
[1, 2, 3, 4] | [[1, 1], [2, 2], [3, 3], [4, 4]]
[1, 1, 1, 1] | [[1, 1, 2, 3, 4]]
นี่คือcode-golfไบต์ที่น้อยที่สุดชนะ!
[[3, [1, 4]], [2, [2, 3]]]
แทนได้หรือไม่?
[[17,"1"]]
? (ยังไม่รู้ถ้าฉันสามารถบันทึกไบต์ใด ๆ ด้วยวิธีดังกล่าวยังคงทำงานอยู่!)