百度第二题咋做的呀

暴力连10%都不给过,嘤
第一题跟着它的思路走了半天,算最大公约数最小公倍数,然后30%超时。浪费了半个多小时,拿脑子一想,肯定是找最大互质对,然后n和n-1铁定互质,最后输出(n-1)*n-1就过了

第三题树的最长递增路径也挺简单的,接收输入的时候前比后小就存后面的数可以抵达前面的数,反之存前面的数可以抵达后面的数,然后找每个点能走多深就行了。

但是第二题那个一次操作最大数-n,剩下数+1,让最大数小于n的操作次数这个题是咋做的?因为第一题耽误时间了,先做的编程,写个暴力就去做选择了,暴力毛也没过……
#百度##笔试题目#
全部评论
第三题ac代码(树上的最长路径) import java.util.ArrayList; import java.util.List; import java.util.Scanner; /**  * @author zhaole.myy  * @date 2019/9/24  */ public class bd2019092403 {     public static void main(String[] args) {         Scanner sc = new Scanner(System.in);         int n = sc.nextInt();         int[] a = new int[n];         for (int i = 0; i < n; i++) {             a[i] = sc.nextInt();         }         List<List<Integer>> l = new ArrayList<>();//向下可达         for (int i = 0; i < n; i++) {             l.add(new ArrayList<>());         }         for (int i = 0; i < n - 1; i++) {             int father = sc.nextInt();             int son = sc.nextInt();             if (a[father - 1] < a[son - 1]) l.get(father - 1).add(son - 1);             else if (a[father - 1] > a[son - 1]) l.get(son - 1).add(father - 1);         }         sc.close();         System.out.println(answer(a,l));     }     private static int answer(int[] a, List<List<Integer>> l) {         int[] longest=new int[a.length];         for (int i = 0; i <longest.length ; i++) {             longest[i]=getLongest(i,l);         }         int max=Integer.MIN_VALUE;         for (int i = 0; i <longest.length ; i++) {             if(max<longest[i]) max=longest[i];         }         return max;     }     private static int getLongest(int i,List<List<Integer>> l){         if(l.get(i).size()==0) return 1;         List<Integer> canArrive=l.get(i);         int max=getLongest(canArrive.get(0),l);         for (int j = 1; j < canArrive.size(); j++) {             int t=getLongest(canArrive.get(j),l);             if(max<t) max=t;         }         return max+1;     } }
点赞 回复 分享
发布于 2019-09-24 22:06
说是用堆来做 我看到输入的数字最大可以达到2的18次方 想用字符串来做 没做出来。
点赞 回复 分享
发布于 2019-09-24 21:22
A了30%。。。凉了
点赞 回复 分享
发布于 2019-09-24 21:21
😂你这是什么题?算法岗吗
点赞 回复 分享
发布于 2019-09-24 21:19

相关推荐

03-24 21:23
已编辑
郑州大学 Java
点赞 评论 收藏
分享
04-03 12:09
東京大学 C++
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客企业服务