小红书3/11笔试编程题参考思路

三道题目都是动态规划,个人感觉还是挺难的,并且三道题目都要用long,不然会有用例过不了

题目一:
对于字符串S,求每个前缀,其非所有空子串中,为非包裹子串(“包裹字符串”是首尾字符相同的字符串)的数量。
思路:
动态规划,对于字符串前缀 Si,它的非空子串集合为前缀 Si - 1 的所有非空子串,加上以索引 i 结尾的所有字符串。
所以,问题变成了求以索引 i 结尾的所有字符串中,非包裹子串的数量。包裹子串数量为前缀中,索引 i对应字符的字符数量。

题目二:
给定n,a,b,c,对于 1- n 的每个值,求有多少种任意数量的abc的排列,其和等于这个值。注意,排列里面不能包含“ac”
二维动态规划,存储3个值,分别是以a、b、c结尾的排列数量。类似零钱组合问题,只是加了一个限制条件。

题目三:
其实本质上就是【337. 打家劫舍 III】#笔试##秋招笔试记录#
全部评论

相关推荐

评论
3
2
分享

创作者周榜

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