人人网笔试

来源:互联网 发布:域名抢注工具 编辑:程序博客网 时间:2024/04/30 18:58

转载:http://www.52harry.com/program/qtprogram/2011-10-13/230.html

人人笔试1:一个人上台阶可以一次上1个,2个,或者3个,问这个人上n层的台阶,总共有几种走法?

import java.util.ArrayList;public class 上楼梯 {        public static void Stragy(int[] StarNumOneStep, int MaxStep){Stragy_(StarNumOneStep, MaxStep, new ArrayList<Integer>());}public static void Stragy_(int[] StarNumOneStep, int LeftStep, ArrayList<Integer> result){if(LeftStep == 0){Util.print(result);}else{for(Integer i : StarNumOneStep){if(LeftStep - i >= 0){result.add(i);Stragy_(StarNumOneStep, LeftStep-i, result);}}}if(result.size() != 0){result.remove(result.size() -1);}}public static void main(String[] args) {int MaxStep = 12;int[] StarNumOneStep = new int[]{1,2,3};Stragy(StarNumOneStep, MaxStep);}        }

原创粉丝点击