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

北京cms建站模板温州专业全网推广建站公司

北京cms建站模板,温州专业全网推广建站公司,软件开发的基本过程包括,找网络公司做网站需要注意什么题目: 有家动物收容所只收容狗与猫,且严格遵守“先进先出”的原则。在收养该收容所的动物时,收养人只能收养所有动物中“最老”(由其进入收容所的时间长短而定)的动物,或者可以挑选猫或狗(同时…

题目:

有家动物收容所只收容狗与猫,且严格遵守“先进先出”的原则。在收养该收容所的动物时,收养人只能收养所有动物中“最老”由其进入收容所的时间长短而定)的动物,或者可以挑选猫或狗(同时必须收养此类动物中“最老”的)。换言之,收养人不能自由挑选想收养的对象。请创建适用于这个系统的数据结构,实现各种操作方法,比如enqueuedequeueAnydequeueDogdequeueCat。允许使用Java内置的LinkedList数据结构。

enqueue方法有一个animal参数,animal[0]代表动物编号,animal[1]代表动物种类其中 0 代表猫,1 代表狗。

dequeue*方法返回一个列表[动物编号, 动物种类]若没有可以收养的动物,则返回[-1,-1]

示例:

输入:
["AnimalShelf", "enqueue", "enqueue", "dequeueCat", "dequeueDog", "dequeueAny"]
[[], [[0, 0]], [[1, 0]], [], [], []]
 输出:
[null,null,null,[0,0],[-1,-1],[1,0]] 

示例解释:

收容所可以收容动物,也可以有收养人对收容所里的动物进行收养

猫咪类型为0,狗狗类型为1

1.执行 enqueue(0,0),收容编号为0的猫咪,无返回值

2.执行 enqueue(1,0),收容编号为1的猫咪,无返回值

3.执行 dequeueCat(),现在要收养一只猫咪,只能收养最老的,所以就是编号为0的猫咪,返回值为[0,0]

4.执行 dequeueDog(),现在要收养一只小狗,但是目前收容所没有狗狗,所以返回值为[-1,-1]

5.执行dequeueAny(),随机收养,不指定猫狗,选择目前收容所中最老的动物即可,此时收容所只剩一只编号为1的猫咪,所以返回[1,0]

解题思路:

1.创建两个队列分别保存收容进来的小猫和小狗,对头永远是最先进来的,也就是最老的

2.在随机收养时,如果两种动物都有存量,要注意比较哪个动物更老

源代码如下:

class AnimalShelf {
public://创建两个队列,一个是存放猫猫的,一个是存放狗狗的queue<int> cat,dog;AnimalShelf() {}//入队操作void enqueue(vector<int> animal) {//获取动物的id和type//id表示动物编号,type表示动物类型int id=animal[0],type=animal[1];//type=0表示该动物是猫猫,就添加到猫猫队列中if(type==0) cat.push(id);//否则添加到狗狗队列中else dog.push(id);}//随机收养vector<int> dequeueAny() {//如果猫猫队列为空,那么只能收养狗狗if(cat.empty()) return dequeueDog();//反之,同理else if(dog.empty()) return dequeueCat();//如果两个都不空,就比较猫猫最老的和狗狗最老的//选择这两个中最老的进行收养if(cat.front()<dog.front()) return dequeueCat();return dequeueDog();}//收养狗狗vector<int> dequeueDog() {//若队列为空,无法收养,返回{-1,-1}if(dog.empty()) return{-1,-1};//获得对头元素的idint id=dog.front();//将其出队dog.pop();//收养最老的,也就是对头的那只猫return {id,1};}//收养猫猫vector<int> dequeueCat() {//若队列为空,无法收养,返回{-1,-1}if(cat.empty()) return{-1,-1};//获得对头元素的idint id=cat.front();//将其出队cat.pop();//收养最老的,也就是对头的那只猫return {id,0};}
};
http://www.yayakq.cn/news/996614/

相关文章:

  • 学做投资网站做早餐煲汤网站
  • 上海建站外贸分类id wordpress
  • 企业网站营销的实现方式软件开发行业市场分析
  • 网站数字签名三亚旅游网站建设
  • 南宁企业自助建站搭建网站要多少钱
  • 河南企业网站优化外包c2c网站页面设计特点
  • 免费申请电子邮箱注册东莞网站优化效果如何
  • 深圳微商城网站设计电话深圳网站建设服务哪便宜
  • 织梦网站专题模板食品电子商务网站建设论文
  • php 手机网站学完网站建设再可以学什么
  • 博客网站建设方案书网站建设佰首选金手指四
  • 沂水县的旅游景区的网站建设作品展示的网站
  • 网站 工作室 建设 方案网页设计制作实训报告模板
  • 房管局备案查询网站百度识图网页版 在线
  • 抖音小程序怎么删除网站seo收费
  • 建设一个公司网站需要什么条件溧阳城乡建设局网站
  • 八里河网站建设项目建设可行性做网站数据对电脑要求
  • ytwzjs烟台网站建设wordpress 微信plugin
  • 重庆企业网络推广价格哈尔滨企业网站seo
  • 微信群领券网站怎么做简单网站建设优化
  • 观澜做网站公司全栈网站开发工程师
  • 专业做化学招聘的网站有哪些桥头仿做网站
  • 仙居网站建设贴吧烟台元和网络科技有限公司
  • 岳阳市住房和城乡建设局网站网站app怎么做的
  • 扬州做网站的公司哪个好大庆门户网站
  • 做网站时图片要切片有什么作用浙江平湖建设局网站
  • 外贸营销网站制作域名网
  • 施工员证书查询网站最好的网站建设
  • 郑州给公司做网站的公司做网站图片要求
  • 网站建设动漫wordpress 漏洞 2014