![](https://img-blog.csdnimg.cn/20191020201506818.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
栈与队列
SYaoJun
这个作者很懒,什么都没留下…
展开
-
计算器/表达式求值
京东零售部618【提前批一面】Java的常用的集合,arraylist/linkedlist/hashmap/hashset/treeset/treemaparraylist的addall方法,入参是传的啥hashmap和线程安全的hashmap线程同步关键字synchronized和volatile和retreenlock原理final关键字怎么用的,可以用在方法上吗缓存redis数据结构和设置过期时间Java的框架springboot的主要注解Java连接数据库的方式除了JDBC(我回原创 2020-07-19 12:12:01 · 538 阅读 · 0 评论 -
71. 简化路径
题目难度:中等类型:栈 字符串题意:把unix中的复杂路径简化为最简洁的路径。一个点号表示当前目录,两个点号上一个目录。我的思路是使用栈来存储斜杠中间的内容。这里面不仅包含文件名,同时也会包含两个点号,或者一个点号的情况。所以每次入栈以后先判断栈顶是不是点号的情况。最后将路径名和斜杠拼接起来。备注:2020.4.18号字节跳动二面面试题,当时思路不是特别清晰,面试官给了我很多提醒,晚上特意...原创 2020-04-18 19:55:31 · 197 阅读 · 0 评论 -
772. 基本计算器 III
题目难度:困难类型:递归 栈class Solution {public: int calculate(string s) { int j = 0; for(int i = 0; i < s.size(); ){ while(i < s.size() && s[i]==' ') i++; ...原创 2020-03-29 09:43:22 · 719 阅读 · 0 评论 -
227. 基本计算器 II
题目类型:双栈难度:中等class Solution {public: int calculate(string s) { //yxc 2020.3.29 //乘除法先算 stack<char> op; stack<int> num; s +="+0"; //处理边界 ...原创 2020-03-29 09:42:10 · 187 阅读 · 0 评论 -
224. 基本计算器
题目难度:困难类型:递归 栈class Solution {public: int calculate(string s) { //递归 2020.3.29 先把空格搞定 int j = 0; for(int i = 0; i < s.size(); ){ while(i < s.size() &a...原创 2020-03-29 09:40:57 · 163 阅读 · 0 评论 -
字符串价值
题目公司:爱奇艺类型:优先队列题意:统计字符出现的频率,然后删掉k个字符使乘积最小,因此要删掉频次最高的字符。使用优先队列来统计频次最高的,每次减一。#include <bits/stdc++.h>using namespace std;const int N = 27;int a[N];int main(){ int n; string s; int k; c...原创 2020-03-27 11:24:51 · 169 阅读 · 0 评论 -
716. 最大栈
题目类型:双栈难度:简单题意:使用两个栈,一个存最大值,一个存原值。class MaxStack {public: /** initialize your data structure here. */ MaxStack() { } stack<int> buf; stack<int> stk, max_stk; ...原创 2020-03-27 08:31:17 · 289 阅读 · 0 评论 -
Emacs计算器
牛客网题目链接后缀表达式计算遇到数值直接放入栈中,遇到操作符将栈顶的两个操作数取出来,然后进行加减乘除操作。注意做除法和减法时,后取出的一个数是被除数和被减数。注意数值中可能有负数。#include <cstdio>#include <iostream>#include <string>#include <unordered_map>#...原创 2019-12-17 10:56:15 · 286 阅读 · 0 评论 -
7-21 求前缀表达式的值 (25分)
题目描述算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3*(7-4)+8/4的前缀表达式是:+ + 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。输入格式:输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、/以及运算数,不同对象(运算数、运算符号)之间以空格分隔。输出格式:输出前缀表达式的运算...原创 2019-12-06 09:25:31 · 973 阅读 · 0 评论 -
7-22 堆栈模拟队列 (25 分)
题目链接两个栈模拟队列小容量栈:输入栈大容量栈:输出栈输入时小栈大栈都空时,优先放入小栈如果小栈满了,且大栈为空,就倒如大栈中如果小栈满了,且大栈已经倒过一次了,说明真的满了,即此队列的最大容量为小栈容量的两倍输出时如果小栈大栈都有数据,优先输出大栈的数据如果大栈空,而小栈有数据,则把小栈中的数倒入大栈中,取出栈底的值后输出,然后将剩余的数又倒回小栈中。小栈大栈都空时,...原创 2019-11-17 15:34:45 · 298 阅读 · 0 评论 -
7-3 Pop Sequence (25 分)
题目链接栈模拟#include <cstdio>#include <algorithm>#include <string>#include <iostream>#include <unordered_set>#include <cctype>#include <stack>using namesp...原创 2019-11-16 17:02:08 · 407 阅读 · 0 评论 -
表达式求值
题目链接print(int(eval(input())))原创 2019-10-20 20:18:34 · 304 阅读 · 0 评论 -
后缀式求值 (25 分)
exp=input().split()ls=list()def Cal(a,b,i): if i=="+": return a+b elif i=="-": return a-b elif i=="*": return a*b else: return a/bfor i in exp: if i in "+-*/": a=ls.pop() b=ls.po...原创 2019-10-20 20:14:54 · 2116 阅读 · 0 评论