• 150455

    文章

  • 1009

    评论

  • 13

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

【字节跳动面试题】 撸它


牛客刷题偶遇 字节后端笔试0715 撸它

一共两道编程题。

1、 给定一个合法的计算表达式,该表达式只包括

0 1 2…9 + - ( )

这些字符,求判断内部不包含减号的括号对数;

例子如下:

(1+(2+1)+(3+4)-5)

该计算表达式不包含减号的括号对数为2对;

思路:
利用栈先进后出的特点,除了有括号全部进栈,与右括号开始出栈,遇到减号当前一组括号不计数,但是为了后面计算方便,需要中间的字符都出栈直至遇到左括号。

执行顺序:


(1+(2+1)+(3+4)-5)
(1++(3+4)-5)
(1++-5)

代码如下:

data = input()
# 定义 左侧为栈底  右侧为栈顶
stack = []
count = 0
for cad in data:
    if cad == ")":
        flag = True
        while 1:
        	try:
            	temp = stack.pop()
            except:
                break
            if temp == "(":
                if flag:
                    count += 1
                break
            elif "0" <= temp <= "9" or temp == "+":
                pass
            else:
                flag = False
    else:
        stack.append(cad)

print(count)

2、 给定若干行字符串,每一行代表一个访问记录,每个记录包含三个字段:用户id, 网址,访问时长;

保证每个用户对于某个网站的访问记录只有一条,求被访问总时长大于180分钟且访问人数最多的网站;

输入举例

  12345 www.a.com 150
       12346 www.a.com 150
       12345 www.b.com 150

该输入的输出为: 

www.a.com 

思路:

这题更简单一点,分割字符串然后利用字典计数

代码如下:

url_dic = {}
while 1:
    try:
        data = input()
        user_id, url, count = data.split()
        url_dic[url] = url_dic.get(url, 0) + int(count)
    except:
        break

for url, count in url_dic.items():
    if count > 180:
        print(url)

 

若是对你有帮助,点个赞呗!!

加入我们,,软件测试交流,,。群。。642830685,领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!一起交流学习进步  


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客