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

浙江网站建设价位如何介绍网站模板

浙江网站建设价位,如何介绍网站模板,永川网站制作,php网页设计实例代码题目 图书整理 II 读者来到图书馆排队借还书,图书管理员使用两个书车来完成整理借还书的任务。书车中的书从下往上叠加存放,图书管理员每次只能拿取书车顶部的书。排队的读者会有两种操作: push(bookID):把借阅的书籍还到图书馆。…

题目

图书整理 II
读者来到图书馆排队借还书,图书管理员使用两个书车来完成整理借还书的任务。书车中的书从下往上叠加存放,图书管理员每次只能拿取书车顶部的书。排队的读者会有两种操作:

  • push(bookID):把借阅的书籍还到图书馆。
  • pop():从图书馆中借出书籍。

为了保持图书的顺序,图书管理员每次取出供读者借阅的书籍是最早归还到图书馆的书籍。你需要返回每次读者借出书的值。

如果没有归还的书可以取出,返回 -1。

示例 1:

输入: [“BookQueue”, “push”, “push”, “pop”] [[], [1], [2], []]
输出:[null,null,null,1] 解释: MyQueue myQueue = new MyQueue();
myQueue.push(1); // queue is: [1] myQueue.push(2); // queue is: [1, 2]
(leftmost is front of the queue) myQueue.pop(); // return 1, queue is
[2]

提示:

1 <= bookID <= 10000 最多会对 push、pop 进行 10000 次调用

思考

  • 本题其实就是要求实现队列以及队列的入队函数和出队函数
  • 按题目的要求,实际上是要求使用两个栈(两个书车)来实现队列
  • 但是解法1 没用用栈

解法1:使用 vector 实现

class CQueue {vector<int> vec;int head=0;
public:CQueue() {}void appendTail(int value) {vec.push_back(value);}int deleteHead() {if(head<vec.size()){return vec[head++];}return -1;}
};/*** Your CQueue object will be instantiated and called as such:* CQueue* obj = new CQueue();* obj->appendTail(value);* int param_2 = obj->deleteHead();*/

解法2:使用 stack 实现

  • 本质上是用另一个栈实现对另一个栈中元素的倒序
  • 在倒序栈中,如果还有元素,在出队的时候直接 pop 即可,因为此时倒序栈中的元素还是较早入队的元素
  • 直到倒序栈中没有元素,再将顺序栈中的元素放入倒序栈
class CQueue {stack<int> a, b;
public:CQueue() {}void appendTail(int value) {a.push(value);}int deleteHead() {if(a.empty() && b.empty()) return -1;if(b.empty() && !a.empty()){while(!a.empty()){b.push(a.top());a.pop();} }int temp = b.top();b.pop();return temp;}
};/*** Your CQueue object will be instantiated and called as such:* CQueue* obj = new CQueue();* obj->appendTail(value);* int param_2 = obj->deleteHead();*/
http://www.yayakq.cn/news/995424/

相关文章:

  • 四川省建设厅网站首页做外贸哪个网站最容易上手
  • 自己动手创建一个公司网站怎么查网站到期时间
  • 美丽乡村建设网站模板商业性质网站建设步骤
  • 动态域名做网站创建公司为什么必须三个人
  • 某学校网站建设方案子网站域名ip地址查询
  • 眉县住房和城乡建设局网站北京app开发公司排名
  • 通过alt让搜索引擎了解该图片信息很多是网站有问题吗企业推广费用
  • 网站建设成本包括什么wordpress不显示其它主题
  • 中贸网做的网站用c 做网站和数据库方法
  • 石家庄网站优化招聘wordpress所有插件
  • 权重较高网站东莞公司高端网站建设
  • 做网站需要什么素材朵朵软件网站建设
  • 网站如何吸引用户做资源教程网站
  • 重庆平台网站建设找哪家wordpress会员模板
  • 网站建设创新成果制作手机app需要学什么编程
  • 网页设计与网站建设在线第二章网站开发 顺德
  • 网站选项怎么做海南智能网站建设公司
  • 网站建设培训哪个好大学英文网站建设方案
  • 一键建站系统源码wordpress菜单文件夹
  • 如何创办一个赚钱的网站龙岩新罗区
  • 网站建设的目的只是开展网络营销全包胶衣网站
  • 建什么网站收益比较号成都品牌建设网站公司
  • 电子商务网站建设书籍wordpress教程阿里云
  • 溧阳建设工程监理网站wordpress密码无法重置
  • 建网站seovps试用30天
  • 网站诊断与检测昆明做网站哪家公司好
  • 现在网站建设都用什么语言改变wordpress表前缀
  • 做会员系统的网站用什么cms好拼多多电商网站建设
  • 网站编程源码免费个人网站备案通过后
  • 手机好在百度做网站吗网站百度知道怎么做推广