這個題目其實很簡單,只要得到每種物品的數量就可以了,用一般的方法也可以做,不過如果使用STL中map 容器的話,那真是輕松加惬意啊!主要是map重載了[]運算符,所以操作起來特別方便。 代碼如下:
#include <string> #include <vector> #include <map> using namespace std; class GroceryBagger { public: int minimumBags(int strength, vector <string> itemType) { int res = 0; map <string, int> msi; for (int i = 0; i < itemType.size(); i++) { msi[ itemType[i] ] = 0; } for (int i = 0; i < itemType.size(); i++) { ++msi[ itemType[i] ]; } for ( map<string, int>::iterator it = msi.begin(); it != msi.end(); it++) { res += (it->second + strength - 1) / strength; } return res; } };