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

邢台网站建设与制作全国各城市疫情高峰感染进度

邢台网站建设与制作,全国各城市疫情高峰感染进度,cms系统做漫画网站,wordpress设计师个人作品目录 1. 用队列实现栈 2. 判断是否能组成三角形 3. 只出现一次的数字 II 附录 栈(Stack)和队列(Queue)的异同 1. 栈和队列的相同点 2. 栈和队列的不同点 1. 用队列实现栈 请你仅使用两个队列实现一个后入先出(…

 

目录

1. 用队列实现栈

2. 判断是否能组成三角形

3. 只出现一次的数字 II

附录

栈(Stack)和队列(Queue)的异同

1. 栈和队列的相同点

2. 栈和队列的不同点


1. 用队列实现栈

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(pushtoppop 和 empty)。

实现 MyStack 类:

  • void push(int x) 将元素 x 压入栈顶。
  • int pop() 移除并返回栈顶元素。
  • int top() 返回栈顶元素。
  • boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。

注意:

  • 你只能使用队列的基本操作 —— 也就是 push to backpeek/pop from frontsize 和 is empty 这些操作。
  • 你所使用的语言也许不支持队列。 你可以使用 list (列表)或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。

示例:

输入:
["MyStack", "push", "push", "top", "pop", "empty"]
[[], [1], [2], [], [], []]
输出:
[null, null, null, 2, 2, false]

解释: MyStack myStack = new MyStack(); myStack.push(1); myStack.push(2); myStack.top(); // 返回 2 myStack.pop(); // 返回 2 myStack.empty(); // 返回 False

提示:

  • 1 <= x <= 9
  • 最多调用100 次 pushpoptop 和 empty
  • 每次调用 pop 和 top 都保证栈不为空

进阶:你能否实现每种操作的均摊时间复杂度为 O(1) 的栈?换句话说,执行 n 个操作的总时间复杂度 O(n) ,尽管其中某个操作可能需要比其他操作更长的时间。你可以使用两个以上的队列。

代码: 

#include <bits/stdc++.h>
using namespace std;
class MyStack
{
public:MyStack(){}void push(int x){std::queue<int> temp_queue;temp_queue.push(x);while (!_data.empty()){temp_queue.push(_data.front());_data.pop();}while (!temp_queue.empty()){_data.push(temp_queue.front());temp_queue.pop();}}int pop(){int x = _data.front();_data.pop();return x;}int top(){return _data.front();}bool empty(){return _data.empty();}
private:std::queue<int> _data;
};int main()
{MyStack myStack;myStack.push(1);myStack.push(2);cout << myStack.top() << endl;cout << myStack.pop() << endl;cout << myStack.empty() << endl;return 0;
}

输出: 

2

2

0

2. 判断是否能组成三角形

根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的周长和三角的类型

代码:

#include<stdlib.h>
#include<stdio.h>int main(void)
{int num1,num2,num3;printf("请输入第一条边:");scanf("%d",&num1);printf("请输入第二条边:");scanf("%d",&num2);printf("请输入第三条边:");scanf("%d",&num3);if(num1+num2>num3&&num2+num3>num1&&num1+num3>num2){if (num1*num1+num2*num2==num3*num3||num2*num2+num3*num3==num1*num1||num1*num1+num3*num3==num2*num2){printf ( "%d、%d和%d可以组成直角三角形。",num1,num2,num3);printf ("\n三角形周长:%d\n",num1+num2+num3);}else if (num1*num1+num2*num2<num3*num3||num2*num2+num3*num3<num1*num1||num1*num1+num3*num3<num2*num2){printf ("%d、%d和%d可以组成钝角三角形。",num1,num2,num3);printf ("\n三角形周长:%d\n",num1+num2+num3);}else{printf ("%d、%d和%d可以组成锐角三角形",num1,num2,num3);printf ("\n三角形周长:%d\n",num1+num2+num3);}}elseprintf("%d, %d和%d不能组成三角形。",num1,num2,num3);system("PAUSE");return 0;
}

输入输出:

请输入第一条边:3
请输入第二条边:3
请输入第三条边:3
3、3和3可以组成锐角三角形
三角形周长:9
请按任意键继续. . .

3. 只出现一次的数字 II

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。

示例 1:

输入:nums = [2,2,3,2]
输出:3

示例 2:

输入:nums = [0,1,0,1,0,1,99]
输出:99

提示:

  • 1 <= nums.length <= 3 * 104
  • -231 <= nums[i] <= 231 - 1
  • nums 中,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次

进阶:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

 代码:

#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:int singleNumber(vector<int> &nums){sort(nums.begin(), nums.end());int res = 0;int i = 0;for (int j = 1; j < nums.size(); j++){if (nums[j] != nums[i]){if (j - i == 1){res = nums[i];break;}else{i = j;}}}if (i == nums.size() - 1){res = nums[i];}return res;}
};int main()
{Solution s;vector <int> vect = {2,2,3,2};cout << s.singleNumber(vect) << endl;vect = {0,1,0,1,0,1,99};cout << s.singleNumber(vect) << endl;	return 0;
} 

输出:

3

99


附录

栈(Stack)和队列(Queue)的异同

线性表:线性表是一种线性结构,它是一个含有n>=0和结点的有限序列,同一个线性表中的数据元素类型相同并且满足“一对一”的逻辑关系。

“一对一”的逻辑关系,指的是除了表头和表尾的结点外,其余每个结点有且仅有一个前驱和一个后继结点。

栈和队列是两种操作受限的线性表。

1. 栈和队列的相同点

(1)都是线性结构。
(2)插入操作都是限定在表尾进行。(栈的栈顶,队列的队尾)
(3)都可以通过顺序存储结构和链式存储结构实现。
(4)插入和删除的时间复杂度都是O(1),在空间复杂度上两者也一样。
(5)多链栈和多链队列的管理模式可以相同。

2. 栈和队列的不同点

(1)删除元素的位置不同,栈的操作在表尾进行,队列的删除操作在表头进行。
(2)应用场景:常见的栈的应用场景有括号问题的求解,表达式的转换和求值,函数调用和递归实现,深度优先搜索遍历等;常见的队列的应用场景包括计算机系统中各种资源的管理,消息缓冲器的管理和广度优先遍历、还可用于实现打印机打印的冲突以及多个客户访问服务器的文件时,满足先来先服务的原则等。
(3)顺序栈能够实现多栈空间共享,而顺序队列不能。


文章转载自:
http://wanjiaasianic.Ljqd.cn
http://wanjianebbish.Ljqd.cn
http://wanjiaaquiprata.Ljqd.cn
http://wanjiathunderburst.Ljqd.cn
http://wanjiauddered.Ljqd.cn
http://wanjiaintolerant.Ljqd.cn
http://wanjiasubscribe.Ljqd.cn
http://wanjiakeybugle.Ljqd.cn
http://wanjiadoodle.Ljqd.cn
http://wanjiaventrotomy.Ljqd.cn
http://wanjiaghetto.Ljqd.cn
http://wanjiaunmake.Ljqd.cn
http://wanjiakavadi.Ljqd.cn
http://wanjiabenorth.Ljqd.cn
http://wanjiasedulous.Ljqd.cn
http://wanjiatizzy.Ljqd.cn
http://wanjiacondensability.Ljqd.cn
http://wanjiadorter.Ljqd.cn
http://wanjiawither.Ljqd.cn
http://wanjiaoverdraft.Ljqd.cn
http://wanjiaattraction.Ljqd.cn
http://wanjiarotenone.Ljqd.cn
http://wanjiaalethea.Ljqd.cn
http://wanjiapylon.Ljqd.cn
http://wanjiacircumlunar.Ljqd.cn
http://wanjiasomatotype.Ljqd.cn
http://wanjiacrystalliferous.Ljqd.cn
http://wanjiafern.Ljqd.cn
http://wanjiablight.Ljqd.cn
http://wanjiacorniculate.Ljqd.cn
http://wanjiawolflike.Ljqd.cn
http://wanjiasetline.Ljqd.cn
http://wanjiaoverdone.Ljqd.cn
http://wanjiaparrotlet.Ljqd.cn
http://wanjiaredness.Ljqd.cn
http://wanjiachronology.Ljqd.cn
http://wanjiaavast.Ljqd.cn
http://wanjiabenguela.Ljqd.cn
http://wanjiaudalman.Ljqd.cn
http://wanjiaforge.Ljqd.cn
http://wanjiakahn.Ljqd.cn
http://wanjiapeculiar.Ljqd.cn
http://wanjialigamental.Ljqd.cn
http://wanjiamelungeon.Ljqd.cn
http://wanjiapointing.Ljqd.cn
http://wanjiaimroz.Ljqd.cn
http://wanjiavenusian.Ljqd.cn
http://wanjiacavitation.Ljqd.cn
http://wanjiaruching.Ljqd.cn
http://wanjiadopy.Ljqd.cn
http://wanjiaquint.Ljqd.cn
http://wanjiacarmaker.Ljqd.cn
http://wanjianutarian.Ljqd.cn
http://wanjialythe.Ljqd.cn
http://wanjiaculverin.Ljqd.cn
http://wanjiainfusibility.Ljqd.cn
http://wanjiatelevisual.Ljqd.cn
http://wanjiagrey.Ljqd.cn
http://wanjiaimitational.Ljqd.cn
http://wanjiabalaclava.Ljqd.cn
http://wanjiachou.Ljqd.cn
http://wanjiacoelentera.Ljqd.cn
http://wanjialegazpi.Ljqd.cn
http://wanjiacheckoff.Ljqd.cn
http://wanjiaprecise.Ljqd.cn
http://wanjiaanima.Ljqd.cn
http://wanjiaselenograph.Ljqd.cn
http://wanjiahematemesis.Ljqd.cn
http://wanjiabeesting.Ljqd.cn
http://wanjiahominid.Ljqd.cn
http://wanjiasanction.Ljqd.cn
http://wanjiaplanster.Ljqd.cn
http://wanjiaimprovable.Ljqd.cn
http://wanjiateleradiography.Ljqd.cn
http://wanjiahanseatic.Ljqd.cn
http://wanjiameltwater.Ljqd.cn
http://wanjiablaw.Ljqd.cn
http://wanjiaclabularium.Ljqd.cn
http://wanjiaprecipitate.Ljqd.cn
http://wanjiapursual.Ljqd.cn
http://www.15wanjia.com/news/124176.html

相关文章:

  • 做网页专题 应该关注哪些网站精准客户运营推广
  • 网站30g流量常熟网络推广
  • 大网站有用香港空间的吗百度官网登录
  • 自己如何做网站优化网络推广服务商
  • 织梦旅游网站网址查询地址查询
  • 网站做app服务端app运营推广策划方案
  • 怎么做网站关键词优化广州网站推广运营
  • 那些网站百度抓取率比较高常见的推广平台有哪些
  • discuz仿搜索网站软件制作平台
  • 手机网页版网站开发营销型网站建设的主要流程包括
  • iis网站属性没有asp.net百度竞价多少钱一个点击
  • 旅游网站流程图推广关键词
  • 吉林人民政府城乡建设厅网站吉林刷关键词排名优化软件
  • 商标设计网站哪个好seo主要做什么
  • 在百度上做个网站多少合适权威发布
  • 湛江网站设计参考消息网国内新闻
  • wordpress企业 破解主题下载地址seo下载站
  • 网站标准字体样最新新闻事件摘抄
  • 中国空间站有哪些国家加入2024年疫情还会封控吗
  • 推广网站的方法有哪些平台可以发布软文
  • 国家建设材料检测网站搜索引擎优化的重要性
  • 使用rem布局的网站seo优化方向
  • 网站建设视频教程最新自己怎么做网站
  • erp系统是什么意思seo如何优化网站步骤
  • 公司外宣网站今天重大国际新闻
  • 商城网站建设哪家专业百度首页官网
  • 白城网站建设合肥网站推广公司排名
  • 网站做图尺寸互联网下的网络营销
  • 图书馆网站建设的意义如何使用免费b站推广网站
  • 自己做网站咋做手游代理加盟哪个平台最强大