输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
1. 用返回一个整数列表来代替打印
2. n 为正整数,0 < n <= 5
2. n 为正整数,0 < n <= 5
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型 最大位数
* @return int整型一维数组
*/
public int[] printNumbers (int n) {
int len = (int)Math.pow(10, n) - 1;
int[] res = new int[len];
for (int i = 1; i <= len; i++) {
res[i - 1] = i;
}
return res;
}
} import java.util.*;
public class Solution {
public int[] printNumbers (int n) {
StringBuilder sb=new StringBuilder();
for(int i=0;i<n;i++){
sb.append("9");
}
int max=Integer.parseInt(sb.toString());
int[] arr=new int[max];
for(int i=0;i<max;i++){
arr[i]=i+1;
}
return arr;
}
} import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型 最大位数
* @return int整型一维数组
*/
public int[] printNumbers (int n) {
// write code here
int max = 1;
for(int i = 1;i <= n;i++){
max = max * 10;
}
max = max - 1;
int[] toArray = new int[max];
for(int j = 1;j <= max;j++){
toArray[j -1] = j;
}
return toArray;
}
} public int[] printNumbers (int n) {
int max=1;
for(int i=1;i<=n;i++){
max = max * 10;
}
max=max-1;
int []arr=new int[max];
for(int i=1;i<=max;i++){
arr[i-1]=i;
}
return arr;
} public int[] printNumbers (int n) {
// write code here
int len = (int) Math.pow(10,n); //不是10 ^ n 这种方式
int index = 1;
int[] res = new int[len - 1];
for (int i = 0; i < res.length ; i++) {
res[i] = index ++;
}
return res;
} import java.util.*;
import java.math.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型 最大位数
* @return int整型一维数组
*/
public int[] printNumbers (int n) {
int max = (int)(Math.pow(10,n) - 1);
int[] arr= new int[max];
int j = 0;
for(int i = 1;i <= Math.pow(10,n) - 1;i++){
arr[j++] = i;
}
return arr;
}
} int pow = (int)Math.pow(10, n);
int[] arr=new int[pow-1];
for(int i=0;i1;i++){
arr[i]=i+1;
} return arr;
public class Solution {
public int[] printNumbers (int n) {
// write code here
int m=(int)Math.pow(10,n);
int[] res=new int[m-1];
for(int i=0;i<m-1;i++){
res[i]=i+1;
}
return res;
}
} import java.util.*;
public class Solution {
public int[] printNumbers (int n) {
// 解法1:暴力
int ret[] = new int[(int)Math.pow(10,n)-1];
for(int i=0;i<(int)Math.pow(10,n)-1;i++){
ret[i]=i+1;
}
return ret;
}
} import java.util.*;
public class Solution {
int ret[];
public int[] printNumbers (int n) {
// 解法2:递归
ret = new int[(int)Math.pow(10,n)-1];
print(0);
return ret;
}
public void print(int cur){
// 终止递归
if(cur==ret.length)
return;
// 打印
ret[cur] = cur+1;
// 递归
print(cur+1);
}
} 解法3:考虑大数 import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型 最大位数
* @return int整型一维数组
*/
public int[] printNumbers (int n) {
// write code here
ArrayList<Integer> list = new ArrayList<>();
int count = 1;
while ((String.valueOf(count).length() <= n)){
list.add(count);
count++;
}
int[] res = new int[list.size()];
for (int i = 0; i < list.size(); i++){
res[i] = list.get(i);
}
return res;
}
}