题解 | #牛牛的目标特征数#

牛牛的目标特征数

https://www.nowcoder.com/practice/1e87226efd424750b5b3f573c4a64b05


#include <vector>
class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param features int整型vector
     * @param target int整型
     * @return int整型
     */
    int minAnimalCount(vector<int>& features, int target) {
        if (target == 0) return 0;
        // 重新存数据
        n = features.size();
        for (int i = 1; i <= n; ++i) {
            a[i] = features[i - 1];
        }
        // 初始化
        for (int i = 1; i <= n; ++i) {
            int j = a[i];
            dp[i][j] = 1;

        }
        // 递推
        for (int i = 1; i <= n; ++i) {
            for (int j = 0; j <= target; ++j) {
                dp[i][j] = min(dp[i][j], dp[i - 1][j]);
                if (j - a[i] >= 0)
                    dp[i][j] = min(dp[i][j], dp[i][j - a[i]] + 1);
            }
        }
        int ans = dp[n][target];
        if (ans >= 1e9)
            return -1;
        else
            return ans;
    }
    int n;
    vector<int> a = vector<int>(15, 0); // 重新存数据
    // dp[i][j] 前 i 个物品构造 j 所需的物品数量的最小值
    // dp[i][j] = min(dp[i][j - a[i]] + 1)
    vector<vector<int> > dp = vector<vector<int> >(15, vector<int>(1e4 + 5, 1e9));
};

全部评论

相关推荐

03-16 13:56
湖南大学 C++
牛客872108596号:到现在没消息是挂了吗查看图片
点赞 评论 收藏
分享
迷茫的大四🐶:自信一点,我认为你可以拿到50k,低于50k完全配不上你的能力,兄弟,不要被他们骗了,你可以的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务