用户一次只能爬1到2个台阶,n台阶楼顶爬到楼顶的方法总数

假设你正在爬楼梯,需要n阶你才能到达楼顶。每次可以爬12个台阶,有多少种不同的方法可以爬到楼顶呢?请用代码写出这个函数,输入为整数值n,输出为总计方法数m (注意:给定n是一个正整数)。

 /**
     * 用户一次只能爬1到2个台阶,n台阶楼顶爬到楼顶的方法总数
     * @param numFloor
     * @return
     */
    public static Integer getTotalMethod2UpFloor(int numFloor){
        if (numFloor<0){
            return null;
        }
        int count=0;
        int[] intArr=new int[]{1,2};
        Random random = new Random();
        int sumStep=0;
        StringBuilder stringBuilder = new StringBuilder();
        HashSet<String> stringHashSet = new HashSet<>();
        while (true){
            int i = random.nextInt(intArr.length);
            int i1 = intArr[i];
            stringBuilder.append(i1);
            sumStep+=i1;
            if (sumStep==numFloor){
                stringHashSet.add(stringBuilder.toString());
                StringBuilder delete = stringBuilder.delete(0, stringBuilder.toString().length());
                sumStep=0;
                continue;
            }
            count++;
            if (count>1000000){
                break;
            }
        }
        return stringHashSet.size();
    }

#产品每日一题#
Java技术 文章被收录于专栏

JavaEE技术 编程开发经验 企业通用技术

全部评论

相关推荐

点赞 评论 收藏
分享
后端转测开第一人:双非本 没大厂实习 后端肯定没机会了 直接转测开吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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