相关疑难解决方法(0)

使用LINQ语法旋转数组

我正在解决旋转数组的问题并使算法和代码工作

 int[] Rotate(int[] ar,int k)
        {
            if (k <= 0 || k > ar.Length - 1)
                return ar;
            Reverse(ar, 0, k - 1);
            Reverse(ar, k, ar.Length - 1);
            Reverse(ar, 0, ar.Length - 1);
            return ar;            
        }

 void Reverse(int[] ar,int start, int end)
        {
            while (start < end)
            {
                int temp = ar[start];
                ar[start] = ar[end];
                ar[end] = temp;
                start++;
                end--;
            }
        }
Run Code Online (Sandbox Code Playgroud)

现在我想在LINQ中执行此操作并获得以下代码,我认为这可以做得更好.

 int[] Rotate(int[] ar,int k)
    {
        if (k <= 0 || k > ar.Length - 1)
            return ar; …
Run Code Online (Sandbox Code Playgroud)

c# linq arrays rotation

1
推荐指数
1
解决办法
4255
查看次数

标签 统计

arrays ×1

c# ×1

linq ×1

rotation ×1