3754. 连接非零数字并乘以其数字和 I
题目描述
给你一个整数 n。
将 n 中所有的 非零数字 按照它们的原始顺序连接起来,形成一个新的整数 x。如果不存在 非零数字 ,则 x = 0。
sum 为 x 中所有数字的 数字和 。
返回一个整数,表示 x * sum 的值。
示例 1:
输入: n = 10203004
输出: 12340
解释:
- 非零数字是 1、2、3 和 4。因此,
x = 1234。 - 数字和为
sum = 1 + 2 + 3 + 4 = 10。 - 因此,答案是
x * sum = 1234 * 10 = 12340。
示例 2:
输入: n = 1000
输出: 1
解释:
- 非零数字是 1,因此
x = 1且sum = 1。 - 因此,答案是
x * sum = 1 * 1 = 1。
提示:
0 <= n <= 109
解法
方法一:模拟
我们可以通过对数字逐位处理来模拟题目要求的操作。在处理每一位数字时,我们将非零数字连接起来形成新的整数 \(x\),同时计算数字和 \(s\),最后返回 \(x \times s\) 即可。
时间复杂度 \(O(\log n)\),空间复杂度 \(O(1)\)。
1 2 3 4 5 6 7 8 9 10 11 12 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |