首页 > 富途笔试
头像
万古成空
编辑于 2021-04-05 12:59
+ 关注

富途笔试 投票

第一题只有C++,没办法,试了输出“false”通过40%,输出“true”通过60%;
第二题,输入都没有描述,代码没通过,提交完又改了一下,算是勉强符合我的预期;

import java.util.*;


public class Solution {
    /**
     * 
     * @param paths int整型二维数组 
     * @param happy int整型一维数组 
     * @param root int整型 
     * @return int整型
     */
    public int maxHappy (int[][] paths, int[] happy, int root) {
        // write code here
        int res=0;
        Map<Integer,Integer> map=new HashMap<>();
        List<Set<Integer>> plan=new ArrayList<>();
        for(int[] a:paths){
            map.put(a[1],a[0]);
        }
        map.forEach((k,v)->{System.out.println(k+"->"+v);});
        int tag=1;
        for(int i=1;i<=map.size()+1;i++){
            Set<Integer> list=new HashSet<>();
            int flag=0;
            while (tag<=root){
                if(flag>map.size()+1-i){
                    break;
                }
                if(!list.contains(map.get(i+flag))){
                   list.add(i+flag) ;tag++;
                }
                flag++;
            }
            tag=1;
            plan.add(list);
        }
        for(Set<Integer> li:plan){
            res=Math.max(res,sum(li,happy));
        }
        return res;
    }
    public static int sum(Set<Integer> list,int[] happy){
        int sum=0;

        for(Integer i:list){
            sum+=happy[i];
        }

        return sum;
    }

    public static void main(String[] args) {
        int [][] tree=new int[][]{{1,2},{1,3},{2,4}};
        int [] happy=new int[]{0,5,4,2,3};
        System.out.println(new Solution().maxHappy(tree,happy,2));
    }
}


全部评论

(2) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐