2023-10-12每日一题
一、题目编号
2562. 找出数组的串联值
二、题目链接
点击跳转到题目位置
三、题目描述
给你一个下标从 0 开始的整数数组 nums 。
现定义两个数字的 串联 是由这两个数值串联起来形成的新数字。
-
例如,15 和 49 的串联是 1549 。
nums 的 串联值 最初等于 0 。执行下述操作直到 nums 变为空: -
如果 nums 中存在不止一个数字,分别选中 nums 中的第一个元素和最后一个元素,将二者串联得到的值加到 nums 的 串联值 上,然后从 nums 中删除第一个和最后一个元素。
-
如果仅存在一个元素,则将该元素的值加到 nums 的串联值上,然后删除这个元素。
返回执行完所有操作后 nums 的串联值。
示例 1:
示例 2:
提示:
- 1 <= nums.length <= 1000
- 1 <= nums[i] <= 104
四、解题代码
class Solution {
public:long long findTheArrayConcVal(vector<int>& nums) {long long sum = 0;int i = 0;int j = nums.size()-1;while(i < j){string s = (to_string(nums[i]) + (to_string(nums[j])));sum += stoi(s);++i;--j;}if(i == j){sum += nums[i];}return sum;}
};
五、解题思路
(1) 双指针。