79079760

Date: 2024-10-11 21:34:46
Score: 0.5
Natty:
Report link

Based on the answer by @peterSO but using generics and works with negative k values:

func rotate[T any](nums []T, k int) []T {
    if len(nums) == 0 {
        return nums
    }

    kAbs := int(math.Abs(float64(k)))

    r := len(nums) - kAbs%len(nums)
    if k > 0 {
        nums = append(nums[r:], nums[:r]...)
    } else {
        nums = append(nums[kAbs:], nums[:kAbs]...)
    }

    return nums
}
Reasons:
  • Has code block (-0.5):
  • User mentioned (1): @peterSO
Posted by: Markus Ressel