小编boo*_*faz的帖子

C++ STL 容器 - 移动弹出

是否有一个 STL 容器(没有 Boost)可以从中删除元素并将其移动到左值?

假设我有一个std::vector大对象和一个变量,我想从向量中弹出一个元素。

var = vec.back();  // non-move assign op
vec.pop_back();    // dtor

var = containerWithMovePop.pop_and_return();  // move assign-op
Run Code Online (Sandbox Code Playgroud)

性能并不那么重要,我只是想知道它是否可能。

c++ containers stl move-semantics

6
推荐指数
1
解决办法
1331
查看次数

给出大于或等于给定数字的最小总和的子集

我有一组(多)正数,例如。{71.28, 82.62, 148.77, 85.05, 50.76, 103.41}

我想找到给出最小总和大于或等于给定数字的子集。

例如。如果最小值为270,则结果为{148.77, 71.28, 50.76},总和为270.81

注意:我认为该解决方案可能比子集和更类似于背包。

algorithm knapsack-problem combinatorics subset-sum

5
推荐指数
1
解决办法
1794
查看次数