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

中国建设银行春招网站西宁建网站需要多少钱

中国建设银行春招网站,西宁建网站需要多少钱,城乡建设杂志网站,wordpress 登录很慢题目: 有家动物收容所只收容狗与猫,且严格遵守“先进先出”的原则。在收养该收容所的动物时,收养人只能收养所有动物中“最老”(由其进入收容所的时间长短而定)的动物,或者可以挑选猫或狗(同时…

题目:

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

相关文章:

  • 网站升级 云南省建设注册考试中心平面设计主要学哪些软件
  • 免费建立网站的有哪里广州平台网站搭建
  • 涉县企业做网站推广对象存储链接WordPress
  • 社交网站开发流程潍坊哪个网站建设公司好
  • 旅游网站开发目的6黑镜主题2.0wordpress
  • 网站技能培训台州网络推广
  • 网站模板修改器中国互联网公司排名2022
  • 下载中心官方网站建设银行个人网站建设背景和目的
  • 自己建一个网站需要什么网页设计图片作品
  • 个人网站备案核验单wordpress修改宽度
  • 如何做网站seo诊断南山做网站
  • 玉树电子商务网站建设多少钱学生成绩管理系统 网站建设
  • 网站建设分金手指专业六网站空间送域名价格表
  • google属于搜索引擎类网站.wordpress写的软文
  • python用于网站开发昌平石家庄网站建设
  • 网站栏目管理建设那个有那种网站
  • 太原市做网站好的科技公司烟台微网站建设
  • 网站建设程序温江网站建设
  • 网站电脑培训班附近有吗服务器部署wordpress
  • 外贸网站搭建服务商写小说赚钱的网站
  • 网站建设028百度品牌专区怎么收费
  • 网站建设需要哪些材料网络营销推广引流方法
  • 电子商务网站技术网站中转页怎么做
  • 同ip网站做友链来宾建设工程造价网站
  • 在家自己做网站企业网络
  • 2008 iis 添加 网站 权限设置权限深圳网络推广公司推荐
  • 网站设计算什么费用google adsense wordpress 插件
  • 示范校建设专题网站网络推广方案怎么写
  • 公司网站是不是每天要更新抖音代运营报价表
  • 乡村建设网站网站建设到备案