给一个数字,对其进行切分,打印出切分后能被 3 整除的数。
举例,输出结果可能不唯一,若你能做到全部输出,加分。
- 输入3121,可打印3、12。
- 输入1000,可打印0、0、0
- 输入201920181,可打印 201、9、201、81。
- 输入20200715,可打印0、0、0、15
赛题要求:
- 写出程序思路并编码。
加分项(依次难度增加):
- 输出结果数据数量越多越优。(高优先级考虑)
- 时间复杂度越少约优。(次优先级考虑)
- 若结果不唯一,能全部输出更优。(低优先级考虑)
(1)分析可得各个数字之和能被三整除即可。就可以判断该数字可以被三整除。当遇到3,6,9的时候,我们可以直接在总数量+1
(2)当遇到不能被三整除的数字的时候,我们统计该数字除以3的余数,并且累加,直到该数字可以被三整除,然后总数量+1.
1 | class Solution{ |