字节测开笔试-编程题

一共两道编程题100% 6%.....
(1)两个数组an、bn,数组cn=[ci=max(ai,bi)]。数组cn是根据an和bn的值动态变化的。定义了两种操作:op=1,x,y:交换ax和ay;op=2,x,y:交换bx和by。
输入:an,bn,m组操作[(1, x, y), (2, x, y), ......]
输出:m行,每行对应操作后的数组cn之和。
思路:暴力解法容易超时。可以先算cn的和sum,之后每次操作之前先让sum减去cx和cy,在进行操作并更新cx和cy,在得到sum = sum +cx +cy。这样就不用遍历cn求和,不会超时。

(2)小红拿到了一个仅有英文字母组成的字符串,她想知道某个单词在该字符串中出现了多少次?
输入用例:
S:bobob
T:bob
输出:
2
思路:直接调用python string.count()无法得到正确答案。例如”bobob”会视为有两个”bob”,单词后缀和前缀有重叠的部分也会算作新单词。直接使用暴力解法,逐个遍历S会超时。考虑用下标j遍历S每次匹配到一个单词T,j就往后移T/2个位置,这样可以把后缀算进去,但还是只能通过6%的用例。
全部评论
第一题都没看懂,第二题双指针应该好解
点赞 回复 分享
发布于 2023-09-18 15:34 上海
用下split拆分如何
点赞 回复 分享
发布于 2023-09-18 10:14 安徽

相关推荐

08-18 23:08
门头沟学院 Java
1.讲实习中缓存结构怎么设计的,都有什么。(新简历还有有点陌生,表达有待加强)2.讲大key问题(后面看一下文档说明,表达再严谨点)3.突然调整分片数后,改动会不会更大,(这当然重新加载预热数据,再看看有没有别的改动小的办法)4.数据倾斜问题描述。(新简历还有有点陌生,表达有待加强)5.数据倾斜问题解决后,改变key怎么过度到新的方案,面临上线变更什么办法解决(主备节点切换过渡,再看看有没有别的改动小的办法)6.讲一下项目api网关使用场景,和普通网关区别(后面看一下文档说明,表达再严谨点)7.健康检查怎么做的(新简历还有有点陌生,表达有待加强)8.项目刚启动,节点未启动,健康检查判断他挂了,...
X_徐迹:如果从 RFC 规范定义的语义来看: GET 方法就是安全且幂等的,因为它是「只读」操作,无论操作多少次,服务器上的数据都是安全的,且每次的结果都是相同的。所以,可以对GET 请求的数据做缓存,这个缓存可以做到浏览器本身上(彻底避免浏览器发请求),也可以做到代理上(如nginx),而且在浏览器中 GET 请求可以保存为书签 POST 因为是「新增或提交数据」的操作,会修改服务器上的资源,所以是不安全的,且多次提交数据就会创建多个资源,所以不是幂等的。所以,浏览器一般不会缓存 POST 请求,也不能把 POST 请求保存为书签。 但是实际过程中,开发者不一定会按照 RFC 规范定义的语义来实现 GET 和 POST方法。比如: 可以用 GET 方法实现新增或删除数据的请求,这样实现的 GET 方法自然就不是安全和幂等。 可以用 POST 方法实现查询数据的请求,这样实现的 POST 方法自然就是安全和幂等。
查看15道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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