function knapsack( V ,  n ,  vw ) {
 if(V==0||n==0) return 0  
    if(n==1&&V>=vw[0][0]) return vw[0][1]
    let dp = [] 


    //算法优化,优化空间复杂度
    // dp[n] 表示背包的体积为n时所能放下 的最大价值
    // dp[n] = max( dp[n],dp[n-vi] + wi )

    for(let i=0;i<V+1;i++) dp[i] = 0 

    for(let i=0;i<vw.length;i++) {

        for(let j = V;j>=vw[i][0];j--) {

            dp[j] = Math.max(dp[j],dp[j-vw[i][0]]+vw[i][1]) 
        }

    }



    //return dp[n][V] 

    return dp[V]
}