som*_*321 0 string algorithm biginteger
我正在解决这个问题,即我们给出了数字N,它可以非常大,最多可以有 100000 位数字。
现在我想知道找到这些数字的最有效方法是什么,我认为在大数字中,我最多需要删除 3 位数字才能使数字被 3 整除。
我知道如果数字之和可以被三整除,这个数字可以被三整除,但我想不出我们如何使用它。
我的想法是对字符串进行蛮力并检查我们是否删除了该数字是否可以被 3 整除,但是我的解决方案在复杂的例子中失败了。请给我一些提示。
提前致谢。
如果模 3 的数字之和等于 1,则要删除单个 1、4 或 7。如果数字之和为 2,则要删除单个 2、5 或 8。
如果不能这样做,那么你必须删除两位数。
为了避免两次扫描列表,您可以记住最多与 1 全等的两位数的索引,以及与 2 全等的最多两位数的索引,因此当您计算最终模数时,您知道在哪里查找。