backpack
2015-11-03 14:31
323 查看
在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]
样例
如果有4个物品[2, 3, 5, 7]
如果背包的大小为11,可以选择[2, 3, 5]装入背包,最多可以装满10的空间。
如果背包的大小为12,可以选择[2, 3, 7]装入背包,最多可以装满12的空间。
函数需要返回最多能装满的空间大小。
注意
你不可以将物品进行切割。
样例
如果有4个物品[2, 3, 5, 7]
如果背包的大小为11,可以选择[2, 3, 5]装入背包,最多可以装满10的空间。
如果背包的大小为12,可以选择[2, 3, 7]装入背包,最多可以装满12的空间。
函数需要返回最多能装满的空间大小。
注意
你不可以将物品进行切割。
class Solution { public: int backPack(int m, vector<int> A) { int n=A.size(); if(n==0) return 0; sort(A.begin(),A.end()); int res=0; for(int k=n-1;k>=0;k--){ int i=k; int already=0; while(i>=0){ if(A[i]+already<=m) already+=A[i]; i--; } res=max(res,already); } return res; } };
相关文章推荐
- 关于中文编程与谈谈软件工程和计算机科学的区别
- 构建平台
- 3.7
- [Android基础]Service
- echo相关参数 -e -n
- MySQL中BLOB字段类型介绍
- GetIconWndClass注册窗口类
- 【Android开发精要笔记】Android的Intent机制
- [选择语句好看但是快吗?]Length of Last Word
- 人的格局与人的底线
- hdu 1874 畅通工程续(最短路Dij邻接矩阵)
- 杭电1088&zoj1099 Write a simple HTML Browser
- PreferencesFragment
- java实现图片裁切的工具类实例
- 熊孩子为什么叫我们阿姨/叔叔?
- ncurse
- iOS开发技巧:使用Xcode DEBUG模式和RELEASE模式
- 简单明了介绍Spring手工注入@autowire用法 及 beans.xml配置区别
- 并查集详解 (转)
- iOS9下App Store新应用提审攻略