【算法笔记】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 0i<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 1n1000
  • 1 ≤ n u m s [ i ] ≤ 1000 1 \le nums[i] \le 1000 1nums[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 + a

def main():
    # 主要逻辑代码
    input_a = list(map(int, input('请输入一个由空格分隔的整数序列:').split()))
    print('串联后的数组:', analysis(input_a))

if __name__ == "__main__":
    main()

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值