查看: 1743| 回复: 0
跳转到指定楼层
上一主题 下一主题
收起左侧

[其他] Kara在线高频题 看看我代码哪有问题输出为空

全局:

2019(10-12月)-CS本科+fresh grad 无实习或全职 | Other|BayArea湾区 码农类General全职@

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 我一辈子赖美帝 于 2019-10-30 00:11 编辑

第二问:
{{A,B},{C,D},{B,C},{E,F},{D,E},{F,G}}

A B C D E F G   middle one:D

第三题: 第二题的follow up,假设每门课程可以有多门先修课,找出所有path修到一半课程的名称(出自其他面经).--


[i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i].google  и



.google  и public static void main(String[] args) {. 1point 3acres
  // TODO Auto-generated method stub
  String[][] student_course_pairs_1 = {
                         {"58", "Software Design"},
                         {"58", "Linear Algebra"},
                         {"94", "Art History"},
                         {"94", "Operating Systems"},. 1point 3acres
                         {"17", "Software Design"},
                         {"58", "Mechanics"},
                         {"58", "Economics"}, ..
                         {"17", "Linear Algebra"},
                         {"17", "Political Science"},
                         {"94", "Economics"},.google  и
                         {"25", "Economics"},
  };
  String[] s1={"58", "17"};. 1point3acres.com
  String[] s2={"58", "94"};
  String[] s3={"58", "25"};
  String[] s4={"94", "25"};
  String[] s5={"17", "25"};
  String[] s6={"17", "94"};
  List<String> res1=shareClass(student_course_pairs_1,s1);
  List<String> res2=shareClass(student_course_pairs_1,s2);
  List<String> res3=shareClass(student_course_pairs_1,s3); ..
  List<String> res4=shareClass(student_course_pairs_1,s4);
  List<String> res5=shareClass(student_course_pairs_1,s5);. 1point 3acres
  List<String> res6=shareClass(student_course_pairs_1,s6);        
  //System.out.println(res1);
  //System.out.println(res2);
  //System.out.println(res3);. Waral dи,
  //System.out.println(res4);
  //System.out.println(res5);
  //System.out.println(res6);
  1.          static List<String> findOrder(String[][] pre) {
  2.                   HashSet<String> courseCount=new HashSet<>();
  3.                   for(String[]s :pre) {
  4.                           courseCount.add(s[0]);
  5.                           courseCount.add(s[1]);. check 1point3acres for more.
  6.                   }
  7.                   int len=courseCount.size();. ----
  8.                   System.out.println(len);
  9.                   Map<String,Integer> indegree=new HashMap<>();
  10.                   List<String> res=new ArrayList<>();.
  11.                      //把先修课放在每个课程的list中+统计入度
  12.                      Map<String,List<String>> map=new HashMap<>();.
  13.                      for(int i=0;i<pre.length;i++){
  14.                          if(map.containsKey(pre[i][1])){.1point3acres
  15.                              map.get(pre[i][1]).add(pre[i][0]);
  16.                          }else{
  17.                              List<String> list=new ArrayList<>();
  18.                              list.add(pre[i][0]);. 1point 3acres
  19.                              map.put(pre[i][1],list);
  20.                          }.--
  21.                          indegree.put(pre[i][0], indegree.getOrDefault(pre[i][0],0)+1);
  22.                      }

  23.                      //BFS. 1point3acres.com
  24.                      Queue<String> queue=new LinkedList<>();
  25.                      for(int i=0;i<pre.length;i++){. ----
  26.                          if(indegree.get(pre[i][0])==0)queue.offer(pre[i][0]);
  27.                      }
  28.                      int count=0; ..
  29.                      while(!queue.isEmpty()){
  30.                          String course=queue.poll();
  31.                          count++;
  32.                          res.add(course);
  33.                          List<String> list=map.get(course);
  34.                          if(list!=null){. 1point3acres
  35.                              int n=list.size();
  36.                              for(int i=0;i<n;i++){
  37.                                  String subCourse=map.get(course).get(i);
  38.                                  indegree.put(subCourse, indegree.getOrDefault(subCourse,0)-1);
  39.                                  if(indegree.get(subCourse)==0)queue.offer(subCourse);
  40.                              }
  41.                          }
  42.                      }

  43.                     if(count==len)return res;. check 1point3acres for more.
  44.                      else return new ArrayList<>();

  45.                     }

  46. String[][] pre={{"B","A"},{"D","C"},{"C","B"},{"F","E"},{"E","D"},{"G","F"}};
  47.   List<String> resll=findOrder(pre);
  48.   System.out.println(resll);. 1point 3 acres
复制代码

}-baidu 1point3acres
[/i][/i][/i][/i][/i][/i][/i][/i]
.google  и


[/i][/i][/i][/i][/i][/i][/i][/i][/i]

上一篇:Apple relocate 加拿大
下一篇:开个帖子记录被亚马逊简历拒以后有什么对策
您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表