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

牛牛的目标特征数

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));
};

全部评论

相关推荐

野猪不是猪🐗:现在的环境就是这样,供远大于求。 以前卡学历,现在最高学历不够卡了,还要卡第一学历。 还是不够筛,于是还要求得有实习、不能有gap等等... 可能这个岗位总共就一个hc,筛到最后还是有十几个人满足这些要求。他们都非常优秀,各方面都很棒。 那没办法了,看那个顺眼选哪个呗。 很残酷,也很现实
点赞 评论 收藏
分享
04-06 16:59
已编辑
河南工业大学 Java
牛牛牛的牛子:最好扔了,实在没有选择的选择
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务