题目大意:游戏公司要发布n个游戏,一天发布一个,每个游戏由一个字符串构成,由于游戏公司的一些不当操作。游戏可以通过游戏名前缀进行访问,导致可以利用bug把没发布的游戏全部偷出来,现在老板让你在规划每一天所需要的前缀的最小值,且前i天的前缀不能访问到没发布的游戏。
用户访问过程如下:用户发送请求url->后台根据当天的前缀数组去判断请求的url是否是已发布的游戏->如果请求的url不匹配任意一个前缀则直接拒绝请求
以样例为例:
第一天的前缀数组为['u'],第二天的为['u','hs'](如果是['u','h']那么第三天发布的游戏url也符合匹配,不能过滤掉),第三天的为['u','h']
因此题目要求的是当天发布完游戏后,可以最少使用多少前缀去过滤用户的请求
思路:
比如:有三个字符串
删除最后一个字符串。从左到右遍历,i=0,同一层还有'b',答案加一;i=1,同一层还有'd',答案加一;i=2,同一层没有其他字符,答案不变。因此倒数第二天的最小前缀数组长度为2,['b','ad']