zoukankan      html  css  js  c++  java
  • 牛客代码测试栈深度

    在刷牛客网剑指offer的时候遇到了一个题

    题目描述
    求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。

    本人通过递归方法解题,发现报了OUTOFSTACKEXCEPTION,于是突发奇想,想看看牛客的栈深度,通过以下代码得到了深度为18886

    public class Test{  
        private int count = 0;
        public void testAdd(){
            count ++;
            testAdd();
        }
        public void test(){
            try{
            testAdd();
             }catch(Throwable e){
                 System.out.println(e);
                 System.out.println("栈深度:"+count);
             }
        }
        public static void main(String [] args){
            new Test().test();
        }    
    }
    

    而测试样例中显然有值大于了这个数

    //        if(n>18886) throw new RuntimeException();
    

    哈哈,本渣感觉成就满满~

  • 相关阅读:
    ffmpeg full help
    docker 服务命令
    php 查看swoole版本
    vue/cli 的启动
    TP框架的使用,不需要阿帕奇
    mysql 的文件恢复
    mac下使用iterm实现自动登陆
    跨库怎样查询
    swoole和websocket的关系
    mac上mysql的安装和使用
  • 原文地址:https://www.cnblogs.com/BBchao/p/8600449.html
Copyright © 2011-2022 走看看