题解 | #完全背包#

完全背包

https://www.nowcoder.com/practice/3ed13831e2cc4613866edee237d5a804

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param v int整型 
 * @param n int整型 
 * @param nums int整型二维数组 
 * @return int整型一维数组
*/
func knapsack( v int ,  n int ,  nums [][]int ) []int {
    dp,dp1 := make([]int, v + 1),  make([]int, v + 1)
    for i := 1; i <= v; i++ {
        max, max1 := 0, 0
        for j := 1; j <= len(nums);j++ {
            if i >= nums[j - 1][0] {
                if max < dp[i - nums[j - 1][0]] + nums[j - 1][1] {
                    max = dp[i - nums[j - 1][0]] + nums[j - 1][1]

                }
                if i - nums[j - 1][0] != 0 && dp1[i - nums[j - 1][0]] == 0 {
                    continue
                }
                if max1 < dp1[i - nums[j - 1][0]] + nums[j - 1][1] {
                    max1 = dp1[i - nums[j - 1][0]] + nums[j - 1][1]
                }
            } 
        }
        dp[i], dp1[i] = max, max1
    }
    return []int{dp[v], dp1[v]}
}

全部评论
大佬 腾讯后台开发还是用cpp吗?还是都转用go了啊?
点赞 回复 分享
发布于 2023-07-14 09:59 吉林

相关推荐

有趣的牛油果开挂了:最近这个阶段收到些杂七杂八的短信是真的烦
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务