使用CSharp实现滑动窗口
时间: 2024-02-25 08:28:29 浏览: 24
以下是一个简单的滑动窗口实现的示例代码,C#语言:
```csharp
public static int MaxSumSubArray(int[] nums, int k)
{
int maxSum = 0;
int currentSum = 0;
for (int i = 0; i < nums.Length; i++)
{
currentSum += nums[i];
if (i >= k - 1)
{
if (currentSum > maxSum)
{
maxSum = currentSum;
}
currentSum -= nums[i - k + 1];
}
}
return maxSum;
}
```
在上面的示例代码中,使用一个循环来遍历整个数组。在每个循环迭代中,将当前元素的值添加到当前总和中。当窗口大小达到k时,检查当前总和是否大于最大总和,并且从窗口中删除第一个元素(即将当前总和减去窗口中的第一个元素)。最终,函数返回最大总和。
可以通过调用该函数并传入一个整数数组和一个整数k来使用该函数。例如:
```csharp
int[] nums = {1, 2, 3, 4, 5};
int k = 3;
int maxSum = MaxSumSubArray(nums, k);
Console.WriteLine(maxSum); // 输出:12
```
在上面的示例中,将整数数组 {1,2,3,4,5} 和整数k = 3传递给MaxSumSubArray函数,该函数返回最大子数组总和,即12。