用户一次只能爬1到2个台阶,n台阶楼顶爬到楼顶的方法总数
假设你正在爬楼梯,需要n阶你才能到达楼顶。每次可以爬1或2个台阶,有多少种不同的方法可以爬到楼顶呢?请用代码写出这个函数,输入为整数值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技术 编程开发经验 企业通用技术

查看10道真题和解析