面试题请教

两个面试里遇到的算法题,求各位大佬指点一下思路

1.给定一个字符串,找到包含各字母数量相同的最长子串长度,如abcdbdchi, 对于子串bcdbdc;中,包含的各字母(b,c,d)的数量相同,均为2,因此该子串是一个合法子串。要求O(N)复杂度解决;

2.给了一个一维的数组。总共有5种不同的elements,代表5种颜色:R,B,W,G,Y. 如果有至少四个同种颜色的candy是连续的,就全部消除掉。然后数组的左右两部分再连接起来.你手上有有限个数的candy。你可以把手上的candy 插入数组使得数组里的candy 消除掉。问你最少使用手上的几个 candy 能够消除所有candy。如果不能return -1.
Example:
input: RRBBBRR
candy in your hand: BYG. return 1. 你只需要手上的B candy,插入中间位置。4个B就消除掉了。然后剩下的RRRR也消除掉了。

感谢各位大佬指点 #面试#
全部评论
第一题 lc 395,第二题用stack存储一个数组,第一个下标是类型,第二个下标是当前连续的个数,遍历数组,如果类型相同,下标++,直到遇到第一个不相同的,这个时候判断一下能不能消除(%4,然后+手里面的),如果可以全消除,判断一下下一个元素跟栈顶元素是不是相等,相等的话从栈顶元素下标开始,不相等的话继续重复上一步流程,如果最后栈不为空,如果栈顶元素+当前手里面的个数可以消除就往下走,走到不能消除就是不行?
点赞 回复 分享
发布于 2024-03-13 13:58 四川

相关推荐

都送什么礼物吗?如果送的话,价格大概都是多少?辛苦大家给个参考啦!
牛客73617529...:要送就送那种没必要买又很贵的,假设一个打瓦的显示屏 鼠标 键盘都很贵,你送这些突出不了价值,直接送一个很贵的鼠标垫包记住你的。
点赞 评论 收藏
分享
Vincent777...:实习经历可以考虑放上去,对于软件使用方面可以细化一些,比如调整为:熟悉基于LSDYNA的瞬态动力学仿真分析,熟悉基于WORKBENCH的结构拓扑优化
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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