当前位置: 首页 > news >正文

深圳做网站案例网站关键词公司

深圳做网站案例,网站关键词公司,建设网站需要的ftp资源,网站添加地图思路:拓补排序,哈希表 在思路上其实很好发现,我们需要有一个明确的做菜顺序,也就是说需要定下来我们根据原材料先做哪些菜,然后做完该做的菜之后,后来又能做哪些菜。 你也发现了,这个顺序其实…

思路:拓补排序,哈希表

在思路上其实很好发现,我们需要有一个明确的做菜顺序,也就是说需要定下来我们根据原材料先做哪些菜,然后做完该做的菜之后,后来又能做哪些菜。

你也发现了,这个顺序其实就是拓补排序的顺序,我们构造出来这样的一个图就行了,虽然说处理起来很麻烦....需要用到哈希表进行映射才行。

这里哈希表用了两个,一个是用来构建拓补排序的图的,一个是用来存储入度的,因为我们需要判断哪个可以先开始制作。

OK,构造出来做菜的顺序了,也与处理完了入度,我们首先开始下手的肯定是原材料,因为原材料肯定入度为0,这是题目中推出的信息,只有菜谱上的菜之间才可能会有入度。

在处理完原材料之后,减去对应的入度之后,我们开始判断食谱。

注意,食谱这里你需要经过多次循环才能说得出结果,根据数据范围定义循环的次数,因为我们在每一次遍历完数组之后,可能会有原先入度不是0但是遍历完之后入度为0的情况出现,所以这里需要多次对于数组进行遍历。

class Solution {
public:vector<string> findAllRecipes(vector<string>& recipes, vector<vector<string>>& ingredients, vector<string>& supplies) {map<string,int>m;map<string,vector<string>>s;for(int i=0;i<recipes.size();i++)m[recipes[i]]=0;for(int i=0;i<ingredients.size();i++){for(int j =0;j<ingredients[i].size();j++){m[ingredients[i][j]]=0;}}for(int i=0;i<recipes.size();i++){for(int j=0;j<ingredients[i].size();j++){s[ingredients[i][j]].push_back(recipes[i]);}m[recipes[i]]+=ingredients[i].size();}vector<string>res;for(int i=0;i<supplies.size();i++){if(m[supplies[i]]==0){for(int j=0;j<s[supplies[i]].size();j++){m[s[supplies[i]][j]]--;}}}vector<bool>st(recipes.size(),false);int i=0;int n=1e5;while(n--){if(m[recipes[i]]==0&&!st[i]){res.push_back(recipes[i]);st[i]=true;for(int j=0;j<s[recipes[i]].size();j++){m[s[recipes[i]][j]]--;}}i=(i+1)%recipes.size();}return res;}
};

上代码:

http://www.khdw.cn/news/2893.html

相关文章:

  • 兰州网站关键词优化百度指数十年
  • 做境外的赌博网站违法么泉州网站关键词排名
  • 苏州短视频运营优化网站技术
  • 网站建设案例算命网站怎么制作网页链接
  • 世界动画专业大学排名前十强广州网站营销seo费用
  • 临沂网站建设小程序网上商城网站开发
  • 潍坊知名网站建设万网创始人
  • 如何做学校的网站员工培训
  • mi2设计公司网站google广告
  • 工程公司资质办理百度seo招聘
  • 成都三大设计院有哪些保定关键词优化软件
  • 企业网站建设需要的资料广告联盟app下载官网
  • 网站建设考试试题地推的方法和技巧
  • 长治网站建设收费多少营销 推广
  • 金融投资公司网站模板深圳关键词快速排名
  • 前端开发培训费用是多少百度关键词seo年度费用
  • 如何查找网站竞争对手的宣传方式微信crm管理系统
  • 平邑县住房和城乡建设局网站百度关键词优化和百度推广
  • 智能建站代理百度竞价排名算法
  • 西安汽车网站制作云南网站推广公司
  • 做电影下载网站还赚钱吗无锡网站优化
  • 做编辑器的网站全网营销老婆第一人
  • 3d做ppt模板下载网站免费建站免费推广的网站
  • 专门 做鞋子团购的网站有哪些域名检测工具
  • 怎样自己做qq网站网站运营推广方式
  • wordpress gofair淘宝关键词优化软件
  • 手机网站建设优势乌鲁木齐seo
  • 做网站网页百度站长工具是什么意思
  • 在服务器上部署网站怎么自己刷推广链接
  • 做调研有哪些网站提高搜索引擎检索效果的方法