「每日LeetCode」2023年2月14日

本文最后更新于:2023年3月19日 晚上

2553.分割数组中数字的数位

2553.分割数组中数字的数位

Category Difficulty Likes Dislikes
algorithms Easy (86.30%) 3 -

Tags
Companies
给你一个正整数数组 nums ,请你返回一个数组_ _answer ,你需要将 nums 中每个整数进行数位分割后,按照 nums 中出现的 相同顺序 放入答案数组中。
对一个整数进行数位分割,指的是将整数各个数位按原本出现的顺序排列成数组。

  • 比方说,整数 10921 ,分割它的各个数位得到 [1,0,9,2,1] 。

示例 1:
输入:nums = [13,25,83,77] 输出:[1,3,2,5,8,3,7,7] 解释: - 分割 13 得到 [1,3] 。 - 分割 25 得到 [2,5] 。 - 分割 83 得到 [8,3] 。 - 分割 77 得到 [7,7] 。 answer = [1,3,2,5,8,3,7,7] 。answer 中的数字分割结果按照原数字在数组中的相同顺序排列。
示例 2:
输入:nums = [7,1,3,9] 输出:[7,1,3,9] 解释:nums 中每个整数的分割是它自己。 answer = [7,1,3,9] 。

提示:

  • 1 <= nums.length <= 1000
  • 1 <= nums[i] <= 105

Discussion | Solution

思路

函数的实现思路:

  1. 使用 map 方法,将原始数组中的每个元素,转换成字符串,并分割成一个数组
  2. 使用 map 方法,将上一步的字符数组,再次转换成数字数组
  3. 将上一步的数字数组,使用 flat 方法,展开成一个新的数组
  4. 返回新的数组作为结果

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
* @lc app=leetcode.cn id=2553 lang=javascript
*
* [2553] 分割数组中数字的数位
*/

// @lc code=start
/**
* @param {number[]} nums
* @return {number[]}
*/
var separateDigits = function (nums) {
return nums.map((num) => (num + "").split("").map((num) => +num)).flat();
};
// @lc code=end