假设你正在爬楼梯,需要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();
 }
   |