NC288. 打印从1到最大的n位数
描述
示例1
输入:
1
输出:
[1,2,3,4,5,6,7,8,9]
C++ 解法, 执行用时: 8ms, 内存消耗: 1284KB, 提交时间: 2022-02-09
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 最大位数 * @return int整型vector */ vector<int> printNumbers(int n) { // write code here int maxnum=1; for(int i=0; i<n; i++){ maxnum*=10; } maxnum-=1; vector<int> res(maxnum); for(int i=1; i<=maxnum; i++){ res[i-1]=i; } return res; } };
C 解法, 执行用时: 8ms, 内存消耗: 1312KB, 提交时间: 2022-02-11
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 最大位数 * @return int整型一维数组 * @return int* returnSize 返回数组行数 * * C语言声明定义全局变量请加上static,防止重复定义 */ static int arr[100000000] = { 0 }; int* printNumbers(int n, int* returnSize ) { // write code here int i=1; scanf("%d", &n); int param=0; param=pow(10,n)-1; for(i=1;i<=param;i++) { arr[i-1]=i; } *returnSize=i-1; return arr; }
C 解法, 执行用时: 8ms, 内存消耗: 1320KB, 提交时间: 2022-02-10
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 最大位数 * @return int整型一维数组 * @return int* returnSize 返回数组行数 * * C语言声明定义全局变量请加上static,防止重复定义 */ #include <math.h> static int arr[100000]; int* printNumbers(int n, int* returnSize ) { int i = pow(10,n); int j; for(j = 1;j < i; j++) arr[j - 1] = j; *returnSize = --i; return arr; }
C 解法, 执行用时: 8ms, 内存消耗: 1324KB, 提交时间: 2022-02-09
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 最大位数 * @return int整型一维数组 * @return int* returnSize 返回数组行数 * * C语言声明定义全局变量请加上static,防止重复定义 */ static int q[99999];//static是全局变量的默认存储类,表示变量在程序生命周期内可见; int* printNumbers(int n, int* returnSize ) { // write code here int m=0,a; for(int i=0;i<n;i++) {m+=9*pow(10,i);} for( a=1;a<=m;a++) { q[a-1]=a; } *returnSize=(a-1); return q;//这里返回的是数组首元素的地址 }//指针加了*是指地址里面的数不加是指地址,地址往后退就到下一个元素所在地址 //c里面^是异或运算符指数运算用pow( ,) //数组不赋值默认是零
C 解法, 执行用时: 8ms, 内存消耗: 1328KB, 提交时间: 2022-02-10
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 最大位数 * @return int整型一维数组 * @return int* returnSize 返回数组行数 * * C语言声明定义全局变量请加上static,防止重复定义 */static int arr[100000]; int* printNumbers(int n, int* returnSize ) { int sum=0; int i=0; sum=pow(10,n); *returnSize=sum-1; for(i=0;i<*returnSize;i++) { arr[i]=i+1; } return arr; }