字节后端笔试0715

一共两道编程题。
1.给定一个合法的计算表达式,该表达式只包括
0 1 2...9 + - ( )
这些字符,求判断内部不包含减号的括号对数;
例子如下:
(1+(2+1)+(3+4)-5)
该计算表达式不包含减号的括号对数为2对;
思路:使用栈,代码如下:
// 1.cpp: 定义控制台应用程序的入口点。
//

#include <iostream>
#include <stdlib.h>
#include <string>
#include <stack>

using namespace std;

int main()
{
	string str;
	cin >> str;

	int sz = str.size();
	int ans = 0;

	stack<char> st;

	for (int i = 0; i < sz; i++)
	{
		if (str[i] == '(' )
		{
			st.push(str[i]);
		}
		else if (str[i] == ')')
		{
			if (!st.empty() && st.top() == '(')
			{
				ans++;
				st.pop();
			}
		}
		else if (str[i] == '-')
		{
			while(!st.empty())
            {
                st.pop();
            }
		}
	}

	
	cout << ans;
    return 0;
}

2. 给定若干行字符串,每一行代表一个访问记录,每个记录包含三个字段:用户id, 网址,访问时长;保证每个用户对于某个网站的访问记录只有一条,求被访问总时长大于180分钟且访问人数最多的网站;
输入举例:
12345 www.a.com 150
12346 www.a.com 150
12345 www.b.com 150
该输入的输出为:
www.a.com

思路:这道题比较简单,用两个map<string,int> 数据结构,一个记录访问总时长,一个记录访问人数,然后在遍历过程中实时更新访问人数最多的网站,最后输出即可;


#字节跳动##笔试题目#
全部评论
楼主收到面试通知了吗
点赞 回复 分享
发布于 2020-07-18 20:10
第一题如果这个程序跑(1 + (3-2) )的话输出是1,但是题目好像要求这个表达式要输出0,因为子括号内也有负号
点赞 回复 分享
发布于 2020-07-15 21:55

相关推荐

不愿透露姓名的神秘牛友
06-18 22:30
点赞 评论 收藏
分享
06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
面了这么多场试,总有公司总喜欢压力面一个小时面试+手撕,哪里不会就点哪里,说了不会不会还继续追着问不尊重求职者,稍微有些细节记不清了,就开始怀疑项目真实性以及人格让求职者开摄像头但是自己不开,说话声音还贼小,pardon几次就开始不耐烦的不知道这个算不算,手撕的时候,面试官人跑了。。。最后快结束才来
一纸丿繁华丶:你换位思考一下,自己在职场被领导push麻了,身心俱疲,现在有个机会让你放松一下,体验一把上位者的感觉,还能看着那些高学历人才、未来自己的竞争者,抓耳挠腮、手足无措的样子,没给你当场笑出来就不错了,理解一下面试官吧。
点赞 评论 收藏
分享
评论
1
19
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务