小编Ekl*_*kli的帖子

背包C#实现任务

我正在尝试用给定条件编写背包c#算法,但我遇到的问题总是存在两个问题.我得到"索引超出了数组的范围"错误或我的结果只是0.

我找到了几个Knapsack实现的代码示例,但是我无法弄清楚我做错了什么.

代码示例:https: //www.programmingalgorithms.com/algorithm/knapsack-problem

http://www.csharpstar.com/csharp-knapsack-problem/

我的代码:

static int Knapsack(int n, int w, int[] s, int[] v)
{
    int[,] G = new int[n+1,w+1];
    for (int k = 0; k <= n; k++)
    {
        for (int r = 0; r < w; r++)
        {
            if (r == 0 || k == 0)
                G[k, r] = 0;
            else if (s[k] <= r)
                G[k, r] = Math.Max(G[k- 1, r], v[k] + G[k - 1, r - s[k]]);
            else
                G[k, r] = G[k …
Run Code Online (Sandbox Code Playgroud)

c# knapsack-problem dynamic-programming

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

标签 统计

c# ×1

dynamic-programming ×1

knapsack-problem ×1