题解 | #打印从1到最大的n位数#

打印从1到最大的n位数

http://www.nowcoder.com/practice/4436c93e568c48f6b28ff436173b997f

题目描述


输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。

  1. 用返回一个整数列表来代替打印
  2. n 为正整数,0 < n <= 5

示例1 输入:1
返回值:[1,2,3,4,5,6,7,8,9]


代码

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 最大位数
     * @return int整型vector
     */
    vector<int> printNumbers(int n) {
        // write code here
        int maxNumber = 1;
        while(n){//先得到最大数字
            maxNumber= maxNumber*10;
            n--;
        }
        maxNumber = maxNumber-1;//maxNumber=10^n-1
        vector<int> v(maxNumber,0);
        for(int i=0;i<maxNumber;i++){
            v[i] = i+1;
        }
        return v;
    }
};

全部评论

相关推荐

点赞 评论 收藏
分享
04-03 22:41
兰州大学 C++
老六f:有时候是HR发错了,我之前投的百度的后端开发,他给我发的算法工程师,但是确实面的就是百度开发
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务