โจทย์
ดูต้นฉบับ (ภาษาอังกฤษ)หมุนลิสต์ไปทางขวาตามจำนวน steps ตำแหน่ง: โดยนำสมาชิกตัวสุดท้ายมาไว้ข้างหน้า ทำซ้ำทั้งหมด steps ครั้ง
ให้เขียนฟังก์ชัน rotate_right(numbers, steps)
อินพุต
numbers: ลิสต์ของจำนวนเต็ม steps: จำนวนตำแหน่งที่ต้องหมุน
เอาต์พุต
คืนค่าลิสต์ที่ถูกหมุนแล้ว
เงื่อนไข
0 ≤ ความยาว ≤ 100,000; 0 ≤ steps ≤ 10⁹
ตัวอย่าง
ตัวอย่างที่ 1
อินพุต:
steps = 2
numbers = [1, 2, 3, 4, 5]
ผลลัพธ์ที่คาดหวัง:
expected = [4, 5, 1, 2, 3]
อินพุต:
long long steps = 2;
std::vector<long long> numbers = {1, 2, 3, 4, 5};
ผลลัพธ์ที่คาดหวัง:
std::vector<long long> expected = {4, 5, 1, 2, 3};
อินพุต:
long steps = 2;
long[] numbers = new long[] {1, 2, 3, 4, 5};
ผลลัพธ์ที่คาดหวัง:
long[] expected = new long[] {4, 5, 1, 2, 3};
คำอธิบาย
หมุนขวา 2 ครั้ง: [5, 1, 2, 3, 4], จากนั้น [4, 5, 1, 2, 3]
ตัวอย่างที่ 2
อินพุต:
steps = 3
numbers = [1, 2, 3]
ผลลัพธ์ที่คาดหวัง:
expected = [1, 2, 3]
อินพุต:
long long steps = 3;
std::vector<long long> numbers = {1, 2, 3};
ผลลัพธ์ที่คาดหวัง:
std::vector<long long> expected = {1, 2, 3};
อินพุต:
long steps = 3;
long[] numbers = new long[] {1, 2, 3};
ผลลัพธ์ที่คาดหวัง:
long[] expected = new long[] {1, 2, 3};
คำอธิบาย
หมุนจำนวนเท่ากับความยาวลิสต์จะได้ลิสต์เดิม: [1, 2, 3]
แหล่งอ้างอิง
โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน