当前位置: 首页 > news >正文

【LeetCode】2562. 找出数组的串联值

难度:简单

题目

给你一个下标从 0 开始的整数数组 nums

现定义两个数字的 串联 是由这两个数值串联起来形成的新数字。

  • 例如,1549 的串联是 1549

nums串联值 最初等于 0 。执行下述操作直到 nums 变为空:

  • 如果 nums 中存在不止一个数字,分别选中 nums 中的第一个元素和最后一个元素,将二者串联得到的值加到 nums串联值 上,然后从 nums 中删除第一个和最后一个元素。
  • 如果仅存在一个元素,则将该元素的值加到 nums 的串联值上,然后删除这个元素。

返回执行完所有操作后 nums 的串联值。

示例 1:

输入:nums = [7,52,2,4]
输出:596
解释:在执行任一步操作前,nums 为 [7,52,2,4] ,串联值为 0 。- 在第一步操作中:
我们选中第一个元素 7 和最后一个元素 4 。
二者的串联是 74 ,将其加到串联值上,所以串联值等于 74 。
接着我们从 nums 中移除这两个元素,所以 nums 变为 [52,2] 。- 在第二步操作中: 
我们选中第一个元素 52 和最后一个元素 2 。 
二者的串联是 522 ,将其加到串联值上,所以串联值等于 596 。
接着我们从 nums 中移除这两个元素,所以 nums 变为空。
由于串联值等于 596 ,所以答案就是 596 。

示例 2:

输入:nums = [5,14,13,8,12]
输出:673
解释:在执行任一步操作前,nums 为 [5,14,13,8,12] ,串联值为 0 。 
- 在第一步操作中: 
我们选中第一个元素 5 和最后一个元素 12 。 
二者的串联是 512 ,将其加到串联值上,所以串联值等于 512 。 
接着我们从 nums 中移除这两个元素,所以 nums 变为 [14,13,8] 。
- 在第二步操作中:
我们选中第一个元素 14 和最后一个元素 8 。
二者的串联是 148 ,将其加到串联值上,所以串联值等于 660 。
接着我们从 nums 中移除这两个元素,所以 nums 变为 [13] 。 
- 在第三步操作中:
nums 只有一个元素,所以我们选中 13 并将其加到串联值上,所以串联值等于 673 。
接着我们从 nums 中移除这个元素,所以 nums 变为空。 
由于串联值等于 673 ,所以答案就是 673 。

提示:

  • 1 <= nums.length <= 1000
  • 1 <= nums[i] <= 10^4

个人题解

思路:

  1. 双指针,左右改成字符串再相加

  2. 当数组为奇数时需加nums[left]

class Solution {public long findTheArrayConcVal(int[] nums) {int left = 0;int right = nums.length - 1;long sum = 0L;while (left < right) {sum += Long.parseLong(Integer.toString(nums[left++]) + Integer.toString(nums[right--]));}if (left == right) {sum += nums[left];}return sum;}
}

官方题解

class Solution {public long findTheArrayConcVal(int[] nums) {long ans = 0;for (int i = 0, j = nums.length - 1; i <= j; i++, j--) {if (i != j) {ans += Integer.parseInt(Integer.toString(nums[i]) + Integer.toString(nums[j]));} else {ans += nums[i];}}return ans;}
}作者:力扣官方题解
链接:https://leetcode.cn/problems/find-the-array-concatenation-value/solutions/2420231/zhao-chu-shu-zu-de-chuan-lian-zhi-by-lee-4aam/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
http://www.lryc.cn/news/199545.html

相关文章:

  • Hive知识梳理(好文)
  • GitHub仓库的README文件无法显示图片问题-非域名污染原因
  • opencv入门到精通——图片,视频,摄像头的读取与保存
  • Android 13.0 开机动画支持mp4格式视频作为开机动画播放
  • 前端自学需要把大量时间放在 HTML、CSS 吗?
  • Python爬虫如何设置代理服务器(搭建代理服务器教程)
  • 基于SpringBoot的校园志愿者管理系统
  • 24-数据结构-内部排序-基数排序
  • oracle11g安装图解
  • CBitmap、CreateCompatibleBitmap、CreateBitmap
  • 亲测好用教师小程序
  • 第十五章:输入输出流I/O
  • docker命令实例(举例子学习)
  • excel常用函数
  • 使用Portainer图形化工具轻松管理远程Docker环境并实现远程访问
  • Git快速安装【附安装包资源】
  • 算法进修Day-33
  • 开发工具分享 - Mybatis SQL日志格式化H5
  • 好用的办公软件有哪些
  • C#中Abstract、Virtual和Override的使用方法
  • mac电脑安装雷蛇管理软件,实现调整鼠标dpi,移动速度,灯光等
  • Oracle 19c OCM讲义课程:应用SQL执行计划基线的案例
  • 什么是 EDI 857?
  • OJ项目【登录】——验证码、失败登录多次账户冻结、用户密码加密,我是如何实现的?
  • js鼠标点击添加图标并获取图标的坐标值
  • How to add a jar to a project in eclipse?
  • 动手实现H5仿原生app前进后退切换效果
  • 【标准化封装 SOT系列 】 D SOT-323 SOT-363
  • 软件测试肖sir__python之ui自动化实战和讲解03
  • Kafka序列化反序列化解析、kafka schema