ฉันกำลังตอบคำถามท้าทายหนึ่งที่นี่และงานนี้เป็นส่วนหนึ่งของความท้าทาย ฉันมีวิธีแก้ปัญหา 73 ไบต์ในจาวาสคริปต์ แต่ฉันคิดว่ามันมากเกินไปสำหรับสิ่งที่ง่าย
ท้าทาย
รับเป็นอินพุตจำนวนเต็มสองจำนวน:
N
ความยาวของอาร์เรย์ที่คาดหวังR
ช่วงของช่วงเวลาเริ่มต้นในหนึ่ง:1..R
ไม่0..R-1
เอาต์พุตในการรันแต่ละครั้งของโปรแกรม / ฟังก์ชันของคุณหนึ่งอาร์เรย์ที่N
มีความยาวต่างกันโดยมีค่าอยู่ระหว่างกัน1..R
ในลักษณะที่ไม่มีค่าใดเกิดขึ้นมากกว่าหนึ่งครั้ง
คุณต้องใช้R-value
ในรหัสของคุณ
ข้อ จำกัด
2 <= N <= R
คุณสามารถสันนิษฐานได้ว่า:
ฉันอยากเห็นโซลูชันจาวาสคริปต์สั้นกว่าของฉัน 73 ไบต์
แต่แน่นอนมันเปิดทุกภาษา!
หากภาษาของคุณไม่สามารถส่งกลับอาร์เรย์คุณสามารถพิมพ์ตัวเลขทั้งหมด)
shuffle(0..N)
new Date
ให้ค่าที่ไม่สม่ำเสมอ ยิ่งกว่านั้นฉันเชื่อว่าคุณสามารถตีมันได้ที่new Date%r+1
)
R=N=1
) จากนั้นฉันแนะนำให้อนุญาตช่วงต่างๆ0..R
เป็นทางเลือกเนื่องจากเป็นเรื่องปกติสำหรับหลายภาษา