- 超长数字串
- 2018-04-17 16:28:14 @
看了一下,其实正解,这个应该是个数学问题,做法是找到字符串中包含的数字是哪个。然后再算出前面多少个数然后算出结果。
时间复杂度是O(n^3),n为字符串的长度,但是计算的复杂度远超过找答案的复杂度了。
但看了一下题解和其他讨论,似乎一个32位的int就足够存储答案了,对于用KMP算法来做这个,对于位数少是可以暴力做一个超长的字符串序列,然后走一边算法。但,对于一个写了200个9的输入数据,对应的数字是10^101-1,你告诉我这个结果用int能存吗?单纯这个数字就已经超过32位可以存储的大小了。所以我觉得题目作者应该补充一个,所有输出结果在2^32-1以内。不然KMP?即便只是个O(M * N)的复杂度,对于M这种天文数字,还是该呵呵就呵呵吧。
0 条评论
目前还没有评论...