本文主要是介绍【算法笔记】ch01_01_1929 数组串联,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
笔记介绍:
本项目是datawhale发布的LeetCode 算法笔记(Leetcode-Notes)课程完成笔记,根据推荐题目循序渐进练习算法题目。主要用python进行书写相关代码,会介绍解题思路及跑通解法。
1929. 数组串联
题目大意
描述:给定一个长度为 n n n 的整数数组 nums
。
要求:构建一个长度为 2 × n 2 \times n 2×n 的答案数组 ans
,答案数组下标从 0 0 0 开始计数 ,对于所有 0 ≤ i < n 0 \le i < n 0≤i<n 的 i i i ,满足下述所有要求:
- a n s [ i ] = = n u m s [ i ] ans[i] == nums[i] ans[i]==nums[i]。
- a n s [ i + n ] = = n u m s [ i ] ans[i + n] == nums[i] ans[i+n]==nums[i]。
具体而言,ans
由两个 nums
数组「串联」形成。
说明:
- n = = n u m s . l e n g t h n == nums.length n==nums.length。
- 1 ≤ n ≤ 1000 1 \le n \le 1000 1≤n≤1000。
- 1 ≤ n u m s [ i ] ≤ 1000 1 \le nums[i] \le 1000 1≤nums[i]≤1000。
示例:
-
示例 1:
输入:nums = [1,2,1] 输出:[1,2,1,1,2,1] 解释:数组 ans 按下述方式形成: - ans = [nums[0],nums[1],nums[2],nums[0],nums[1],nums[2]] - ans = [1,2,1,1,2,1]
-
示例 2:
输入:nums = [1,3,2,1] 输出:[1,3,2,1,1,3,2,1] 解释:数组 ans 按下述方式形成: - ans = [nums[0],nums[1],nums[2],nums[3],nums[0],nums[1],nums[2],nums[3]] - ans = [1,3,2,1,1,3,2,1]
解题思路
这道题目要求我们将一个数组串联两次形成一个新数组。解题思路非常简单,我们只需要将原数组 nums
和自身拼接起来即可得到答案数组 ans
。
解题 Python 代码
def analysis(a: list):return a + adef main():# 主要逻辑代码input_a = list(map(int, input('请输入一个由空格分隔的整数序列:').split()))print('串联后的数组:', analysis(input_a))if __name__ == "__main__":main()
这篇关于【算法笔记】ch01_01_1929 数组串联的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!