程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> SRM 222 Div II Level Two: GroceryBagger,STL map 用法

SRM 222 Div II Level Two: GroceryBagger,STL map 用法

編輯:C++入門知識

      這個題目其實很簡單,只要得到每種物品的數量就可以了,用一般的方法也可以做,不過如果使用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;
    }
};

 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved