9.3京东第二题

class NodeTestOne {

    public static void main(String[] args) {

    /*
    其实就是找因数,如果为2,就是可行的,直接变,如果为4,就分成两个2,
    如果为3,就-1,分成2和1
    为6 就分成 2和3, 3!=2 ,继续拆分,如果3是质数,直接-1;
     */
        List<Integer> list = new ArrayList<>();
        List<Integer> listItr = new ArrayList<>();
        List<Integer> curList = new ArrayList<>();
        Integer record = 0;
        list.add(2);
        list.add(6);

        for (int i = 0; i < list.size(); i++) {
            int num = list.get(i);
            if(num==1)continue;
            if(num==2){
                curList.add(0);
                continue;
            }
            Iterator(list.get(i), listItr, num, curList);
        }
        System.out.println(curList.size());
    }

    private static void Iterator(Integer integer, List<Integer> listItr, int num, List<Integer> curList) {
        if(integer==2){
            curList.add(0);
            return ;
        }
        for (int j = 2; j < integer; j++) {
            if(j>num)break;
            while(num%j==0){
                if(j==2){
                    num = num / j;
                    curList.add(0);
                    break;
                }else {
                    num = num / j;
                    curList.add(0);
                    listItr.add(j);
                    break;
                }
            }
        }
        int temNum = 0 ;
        if(!listItr.isEmpty()){
            for (int i = 0; i < listItr.size(); i++) {
                temNum = listItr.get(i);
                Iterator(listItr.get(i), new ArrayList<>(), temNum, curList);
            }
        }else if(listItr.isEmpty()&&integer>2){
            integer -= 1;
            temNum = integer;
            curList.add(0);
            Iterator(integer, new ArrayList<>(), temNum, curList);
        }


    }

}
#京东笔试#
全部评论
这题应该是个dp吧
点赞 回复 分享
发布于 2022-09-04 00:51 湖北
其实这里curList.add(0) 来记录增长太累赘了,如果int++反而不可以,麻烦过路人讲下
点赞 回复 分享
发布于 2022-09-03 23:22 浙江

相关推荐

牛油果甜奶昔:别的先不说,牛客还能内推护士?
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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