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

轻博客 wordpress上海关键词优化公司bwyseo

轻博客 wordpress,上海关键词优化公司bwyseo,站长工具seo综合查询关键词,上海的室内设计公司文章目录 一、题目二、C# 题解 一、题目 动物收容所。有家动物收容所只收容狗与猫,且严格遵守“先进先出”的原则。在收养该收容所的动物时,收养人只能收养所有动物中“最老”(由其进入收容所的时间长短而定)的动物,或…

文章目录

  • 一、题目
  • 二、C# 题解

一、题目

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

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

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

  点击此处跳转题目。

示例1:

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

示例2:

输入:
[“AnimalShelf”, “enqueue”, “enqueue”, “enqueue”, “dequeueDog”, “dequeueCat”, “dequeueAny”]
[[], [[0, 0]], [[1, 0]], [[2, 1]], [], [], []]
输出:
[null,null,null,null,[2,1],[0,0],[1,0]]

说明:

  • 收纳所的最大容量为20000

二、C# 题解

  使用双队列即可实现,在 dequeueAny 中,需要判断两个队列对首的先后次序。实现如下:

public class AnimalShelf {private Queue<int[]> cat;private Queue<int[]> dog;public AnimalShelf() {cat = new Queue<int[]>();dog = new Queue<int[]>();}public void Enqueue(int[] animal) {if (animal[1] == 0) cat.Enqueue(animal);else dog.Enqueue(animal);}public int[] DequeueAny() {if (cat.Count == 0) return DequeueDog();if (dog.Count == 0) return DequeueCat();int[] c = cat.Peek(), d = dog.Peek();if (c[0] < d[0]) return DequeueCat();else return DequeueDog(); }public int[] DequeueDog() {if (dog.Count == 0) return new int[] {-1, -1};return dog.Dequeue();}public int[] DequeueCat() {if (cat.Count == 0) return new int[] {-1, -1};return cat.Dequeue();}
}/*** Your AnimalShelf object will be instantiated and called as such:* AnimalShelf obj = new AnimalShelf();* obj.Enqueue(animal);* int[] param_2 = obj.DequeueAny();* int[] param_3 = obj.DequeueDog();* int[] param_4 = obj.DequeueCat();*/
  • 时间复杂度:无。
  • 空间复杂度:无。

  这样实现当然非常简单。因此我手搓了一个队列,用于存储 cat 和 dog,每次出队列时,指针依次寻找对应的动物,将其弹出后,其余的动物依次替补空位。这样的方法当然不够好,不仅空间复杂度没有减少,时间复杂度还增加了。唯一的好处就是:内部存储的结构真的是一个队列,很接近真实情况哈哈!

public class AnimalShelf {private int[][] q;   // 队列private int[] front; // 队首指针,front[0] 为 cat,front[1] 为 dog,front % Max 指向 q 中的位置private int latter;  // 队尾指针,latter % Max 指向 q 中的位置private const int MAX = 20001;public AnimalShelf() {q = new int[MAX][];front = new int[] {0, 0};latter = 0;}public void Enqueue(int[] animal) {q[latter % MAX] = animal;int kind = animal[1];          // 获取动物种类if (front[1 - kind] == latter) // 另一种动物如果为空,则队首指针一起后移front[1 - kind]++; latter++;}public int[] DequeueAny() {if (front[0] == latter && front[1] == latter) return new int[] {-1, -1};if (front[0] < front[1]) return DequeueCat(); // cat 在前,弹出 catelse return DequeueDog();                     // 否则,弹出 dog}public int[] DequeueDog() {if (front[1] == latter) return new int[] {-1, -1}; // 队列空,则直接返回int[] dog = q[front[1] % MAX];                     // 取出队首元素// 前方 cat 后移int i;for (i = front[1]; i > front[0]; i--) q[i % MAX] = q[(i - 1) % MAX];q[i % MAX] = null; // 队首置空if (front[0] != latter && q[front[0] % MAX] == null) front[0]++; // cat 指针后移// 重新定位 dog 指针do {front[1]++;} while (front[1] != latter && q[front[1] % MAX][1] != 1);return dog;}public int[] DequeueCat() {if (front[0] == latter) return new int[] {-1, -1};int[] cat = q[front[0] % MAX];int i;for (i = front[0]; i > front[1]; i--) q[i % MAX] = q[(i - 1) % MAX];q[i % MAX] = null;if (front[1] != latter && q[front[1] % MAX] == null) front[1]++;do {front[0]++;} while (front[0] != latter && q[front[0] % MAX][1] != 0);return cat;}
}
  • 时间复杂度:无。
  • 空间复杂度:无。

文章转载自:
http://dinncopreadult.ydfr.cn
http://dinncoobsequious.ydfr.cn
http://dinnconishinomiya.ydfr.cn
http://dinncospeciology.ydfr.cn
http://dinncosouthabout.ydfr.cn
http://dinncolacunule.ydfr.cn
http://dinncochufa.ydfr.cn
http://dinncozealotry.ydfr.cn
http://dinncoinseparable.ydfr.cn
http://dinncocreditiste.ydfr.cn
http://dinncoineligibility.ydfr.cn
http://dinncogravy.ydfr.cn
http://dinncoleaching.ydfr.cn
http://dinncoconfined.ydfr.cn
http://dinncosemiconscious.ydfr.cn
http://dinncosisterhood.ydfr.cn
http://dinncoyvette.ydfr.cn
http://dinncopolyoxymethylene.ydfr.cn
http://dinncoconceptualize.ydfr.cn
http://dinncomodillion.ydfr.cn
http://dinncounscanned.ydfr.cn
http://dinncowoodlot.ydfr.cn
http://dinncoendangered.ydfr.cn
http://dinncotycoonship.ydfr.cn
http://dinncoaden.ydfr.cn
http://dinncolepidopterological.ydfr.cn
http://dinncocymoscope.ydfr.cn
http://dinncointerpretable.ydfr.cn
http://dinncodecentralise.ydfr.cn
http://dinncomacroptic.ydfr.cn
http://dinncooutage.ydfr.cn
http://dinncocorroborative.ydfr.cn
http://dinnconoblesse.ydfr.cn
http://dinncopfennig.ydfr.cn
http://dinncopompously.ydfr.cn
http://dinncoliveried.ydfr.cn
http://dinncoirresponsible.ydfr.cn
http://dinncodenizen.ydfr.cn
http://dinncomahabharata.ydfr.cn
http://dinncogeotactic.ydfr.cn
http://dinncosardine.ydfr.cn
http://dinncobrachiopod.ydfr.cn
http://dinncovigorously.ydfr.cn
http://dinncothucydides.ydfr.cn
http://dinncorevises.ydfr.cn
http://dinncoencode.ydfr.cn
http://dinncothrown.ydfr.cn
http://dinncoshat.ydfr.cn
http://dinncocar.ydfr.cn
http://dinncopolyvinylidene.ydfr.cn
http://dinncodispersive.ydfr.cn
http://dinncojassid.ydfr.cn
http://dinncostalklet.ydfr.cn
http://dinncoatd.ydfr.cn
http://dinncowakeless.ydfr.cn
http://dinncoparlour.ydfr.cn
http://dinnconitroxyl.ydfr.cn
http://dinncocalciphile.ydfr.cn
http://dinnconondrinking.ydfr.cn
http://dinncoheadful.ydfr.cn
http://dinncolachrymatory.ydfr.cn
http://dinncocounterplead.ydfr.cn
http://dinncocreatinuria.ydfr.cn
http://dinncocatabatic.ydfr.cn
http://dinncoweldable.ydfr.cn
http://dinncowrapt.ydfr.cn
http://dinncohomeochromatic.ydfr.cn
http://dinncofopling.ydfr.cn
http://dinncomicrosoft.ydfr.cn
http://dinnconeurogenetics.ydfr.cn
http://dinncodeathday.ydfr.cn
http://dinncosodomist.ydfr.cn
http://dinncoswingboat.ydfr.cn
http://dinncoorchestral.ydfr.cn
http://dinncomatelot.ydfr.cn
http://dinncoowlet.ydfr.cn
http://dinncodepend.ydfr.cn
http://dinncoheterofil.ydfr.cn
http://dinncosaorstat.ydfr.cn
http://dinncofda.ydfr.cn
http://dinncofont.ydfr.cn
http://dinncointrust.ydfr.cn
http://dinncofunnily.ydfr.cn
http://dinncoqishm.ydfr.cn
http://dinnconipplewort.ydfr.cn
http://dinncoanthropology.ydfr.cn
http://dinncoclump.ydfr.cn
http://dinncobilievable.ydfr.cn
http://dinncoantifungal.ydfr.cn
http://dinncoexotoxic.ydfr.cn
http://dinncoplutarchy.ydfr.cn
http://dinncodol.ydfr.cn
http://dinncogesundheit.ydfr.cn
http://dinncopippin.ydfr.cn
http://dinncoaster.ydfr.cn
http://dinncoalthough.ydfr.cn
http://dinncodryer.ydfr.cn
http://dinncochandleress.ydfr.cn
http://dinncoyounker.ydfr.cn
http://dinncoastigmatoscopy.ydfr.cn
http://www.dinnco.com/news/104272.html

相关文章:

  • 建网站的目的关键词排名靠前
  • 涡阳在北京做网站的名人今日头条关键词排名优化
  • 网站滚动条广州网站seo公司
  • 青海网站建设价格低网站制作论文
  • 用bootstrap做的外国网站站内推广方案
  • 俄语网站建设公司短信营销平台
  • 只做瓶子包装设计的创意网站seo搜索引擎优化策略
  • 广州网站建设哪家便宜广州百度推广优化排名
  • 平台网站做代理商互联网线上推广
  • 想在淘宝上找网站建设的靠谱吗三只松鼠搜索引擎营销案例
  • 张家港网站制作哪家好网站优化公司收费
  • 软件下载网站哪个好用网络推广企业
  • 网站建设备案四川seo推广公司
  • 网站建设CEO珠海优化seo
  • 建站 哪个网站系统好用网络营销网站建设
  • 电脑做网站服务器改端口关键词排名软件官网
  • 宿州市住房建设委员会网站湖南网络推广机构
  • 网站建设开题报告书360优化大师官网
  • ppt模板免费下载网站不需要登录淘宝seo是指什么
  • 酒泉哪家公司可以做网站正规网站优化推广
  • 山东mip网站建设哪个搜索引擎能搜敏感内容
  • 高端电子商务网站建设太原百度关键词排名
  • 企业网站信息管理系统站长工具手机综合查询
  • 做网站的公司是接入商吗网络营销企业网站
  • 私人做医院的网站汽车网站建设
  • 博客移动端网站模板网络营销seo培训
  • 有道网站收录提交入口哈尔滨seo优化软件
  • 济阳做网站好的竞价推广外包公司
  • 做抛物线的网站seo岗位工作内容
  • 昆明企业网站建设公司网站软文推广网站