zoukankan      html  css  js  c++  java
  • 剑指offer---打印从1到最大的n位整数---JS版本实现

    题目

    输入数字n,按顺序打印从1到最大的n位十进制数。

    输入一个3,则需要打印出0~999;输入一个4,则需要打印出0~9999

    核心

    n没有限制,如果不小心给成无穷大,如何处理。n的数值类型,所以采用字符串方式进行全排列

        function showNum(){
                var num = parseInt(document.getElementById("nLength").value);
                if (num <=0) return ;
                number ={};
                printOrder(number,num,0)
            }
            function printOrder(number, n, loc){
                if(loc == n) return;
                for(var i = 0; i <= 9; i++){
                    number[loc] = ('' + i);
                    if(loc == n - 1){
                        printNumber(number);
                    }
                    printOrder(number,n,loc + 1);
                }
            }
            function  printNumber(num){
                var arr = Object.values(num);
                var size = arr.length;
                var i = 0;
                while(i < size && num[i] == '0') //i < size在前,否则越界
                    i++;
                if(i == size)//
                    return;
               console.log(parseInt(arr.join("")))//打印的地方,即为全部的数字
            }

    代码暂时没有详解,具体实现,请查看git页面(html打开即可实现)

    https://github.com/Kristen-D/Algorithms/tree/master/algorithm/digitMaxnum

  • 相关阅读:
    python 格式化 json输出
    python
    回顾2013
    C扩展Python
    C扩展Python
    Python
    Python interview preparing
    Python用smtplib发送邮件
    Python 安装路径, dist-packages 和 site-packages 区别
    nginx worker_cpu_affinity使用方法
  • 原文地址:https://www.cnblogs.com/donglt-5211/p/10143595.html
Copyright © 2011-2022 走看看