题目的主要信息:

  • 输入一个nn,创建一个大小为nn的动态数组
  • 将数组中的元素初始化为nnn+1n+1、...、2n12n - 1,并输出

具体做法:

C++申请动态数组是依靠指针,数组是int型的我们就新开一个int型的指针,同时为这个新开的指针申请nn个int型的空间,我们用new语句直接申请即可。

alt

初始化的值我们仔细观察就是下标的基础上加了nn,那直接遍历初始化,再遍历输出即可。

#include <iostream>
using namespace std;

int main() {

	int n;
	cin >> n;
	int* arr = new int[n]; //指针申请n个空间
    for(int i = 0; i < n; i++) //初始化
        arr[i] = n + i;
    for(int i = 0; i < n; i++) //输出
        cout << arr[i] << " ";
	return 0;
}

复杂度分析:

  • 时间复杂度:O(n)O(n),初始化和输出都要遍历数组
  • 空间复杂度:O(n)O(n),申请了nn个int型空间