LC.P2562[找出数组的串联值]

方法一:模拟

1
2
3
4
5
6
7
8
9
10
11
class Solution {
public long findTheArrayConcVal(int[] nums) {
long ans = 0;
int n = nums.length;
for (int i = 0, j = n - 1; i < j; ++i, --j) {
ans += Integer.parseInt(nums[i] + "" + nums[j]);
}
if (n % 2 == 1) ans += nums[n / 2];
return ans;
}
}
  • 时间复杂度:$O(nlogM)$,其中$M$为数组中元素的最大值
  • 空间复杂度:$O(logM)$,遍历数组时需要将数组中每个元素转换为字符串