zoukankan      html  css  js  c++  java
  • 面试题17:打印从1到最大的n位数

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

    public class printOneToN {
        public static void main(String args[]){
            Solution17 solution17 = new Solution17();
            solution17.print1ToMaxOfNDigits(3);
        }
    }
    
    class Solution17{
        void print1ToMaxOfNDigits(int n){
            if(n<0){
                return;
            }
            char charArr[] = new char[n];
            for(int i=0; i<n; i++){
                charArr[i]='0';
            }
            while(!increment(charArr)){
                printNumber(charArr);
            }
        }
    
        private boolean increment(char[] charArr){
            boolean isOverflow=false;
            int nTakeOver = 0;
            int arrLength=charArr.length;
    
            for(int i=arrLength-1; i>=0; i--){
                int iSum=charArr[i]- '0' + nTakeOver;
    
                if(i==arrLength-1){
                    iSum++;
                }
                if(iSum >= 10){
                    if(i==0){
                       isOverflow=true;
                    }else{
                        nTakeOver=1;
                        iSum-=10;
                        charArr[i]=(char)(iSum+'0');
                    }
                }else{
                    charArr[i] = (char)(iSum+'0');
                    break;
                }
            }
            return isOverflow;
        }
    
        private void printNumber(char[] charArr){
            boolean isZero=true;
    
            for(int i=0; i<charArr.length; i++){
                if(isZero && charArr[i]!='0'){
                    isZero=false;
                }
    
                if(!isZero){
                    System.out.print(charArr[i]);
                }
            }
            System.out.println();
        }
    }
  • 相关阅读:
    Nginx 日志切割-定时(附数据库数据备份)
    安装Nginx
    系统自适应限流
    黑名名单控制-sentinel
    热点参数的流量控制
    流量控制文档说明
    在Linux中输入命令时打错并按了enter
    配置maven环境
    项目层次展示
    寻找cmd的管理员运行
  • 原文地址:https://www.cnblogs.com/Allen-win/p/8280856.html
Copyright © 2011-2022 走看看