oPPo笔试第三题

放一下第三题我的解题思路:
题目是将字符串s变为包含至少k个"oppo"子串所需要的最小操作次数(只能字符替换)(oppoppo包含2个oppo)
这题我用动态规划做的,定义一个三维数组dp[n][k+1][2],其中最后一个维为0表示不以o结尾,1表示以0结尾
那么递推公式为
当前位置上为o:
    dp[i][j][0]=min(dp[i-1][j][0],dp[i-1][j][1])+1
    dp[i][j][1]=min(dp[i][j][0]-1,dp[i-3][j-1][0]+{把前三位位转为”OPP“的代价},dp[i-1][j][1],dp[i-3][j-1][1]+{把中间两位转为”PP“的代价})
    
当前位置上不为o:
    dp[i][j][0]=min(dp[i-1][j][0],dp[i-1][j][1])
     dp[i][j][1]=min(dp[i][j][0],dp[i-3][j-1][0]+{中间两位转为”PP“的代价}+1,dp[i-3][j-1][1]+{把中间两位转为”PP“的代价})+1
感觉想得有点复杂,有没有大佬有更好的方法,分享一下
全部评论
是这样做的,我也是
点赞 回复 分享
发布于 2023-09-03 12:43 湖北

相关推荐

联通 技术人员 总包不低于12
点赞 评论 收藏
分享
offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
点赞 3 评论
分享
牛客网
牛客企业服务