美文网首页
2022-03-11

2022-03-11

作者: 16孙一凡通工 | 来源:发表于2022-03-11 10:49 被阅读0次

很迷惑,这个题看的不太懂,直接cv看官方了。

class Solution {
      List<Integer>[] children;
       long maxScore = 0;
 
      int cnt = 0;
    int n;

    public int countHighestScoreNodes(int[] parents) {
         n=parents.length;

// 每一个节点的子树以自身根的子树的大小
 
// DFS()
 children = new List[n];
   
    for(int i=0;i<n;i++){
       children[i]=new ArrayList<Integer>();
    }
     int i=1;
    
    for(int parent:parents){
        if(parent==-1){
            continue;
        }
      children[parent].add(i);
    i++;
    }
  
    int[] res=new int[n];

    // for(int j=0;j<n;j++){
    //     //    System.out.println(children[j][0]);
    //     //       System.out.println(children[j][1]);
    //   res[j]=Math.max(DFS(children[j][0],0),DFS(children[j][1],0))+1;
    //    System.out.println(res[j]);
       
    // }
    dfs(0);
    return cnt;

    
  


    }
     public int dfs(int node) {
        long score = 1;
        int size = n - 1;
        for (int c : children[node]) {
            int t = dfs(c);
            score *= t;
            size -= t;
        }
        if (node != 0) {
            score *= size;
        }
        if (score == maxScore) {
            cnt++;
        } else if (score > maxScore) {
            maxScore = score;
            cnt = 1;
        }
        return n - size;
    }


    // public int DFS(int i,int count){
    //     if(i==-1){
    //         return 0;
    //     }
    //     if(children[i][0]==-1 && children[i][1]==-1){
    //         return count;
    //     } 
    //   return  DFS(children[i][0],count+1)+DFS(children[i][1],count+1);
// }
        
        // int count_left=0,count_right=0;

    
        
        // return Math.max(count_left,count_right);
    
}

前缀树:65最短的单词编码:

class Solution {

    public int minimumLengthEncoding(String[] words) {
        // 好像确实有点像前缀树
      Arrays.sort(words, (s1,s2)-> s2.length()-s1.length());
      Tribe tree=new Tribe();
      int len=0;
      



    for(String text:words){
        boolean flag=false;
     Tribe node=tree;
        char[] text_arr=text.toCharArray();
        for(int i=text_arr.length-1;i>=0;i--){
            int index=text_arr[i]-'a';
            Tribe temp=node.children[index];
            
       if(temp==null){
           flag=true;
         temp=new Tribe();
         node.children[index]=temp;
       }
       node=temp;
        }
       if(flag) len+=text_arr.length+1;

       
    }
    return len;


    }
}
  class Tribe{
      Tribe[] children;
  
      public Tribe(){
          this.children=new Tribe[26];
   
      }
  }

相关文章

  • 030 Release date: 2022-03-11 Type: Comedy/C...

  • iOS(Swift) fastlane集成,分发蒲公英,fir(

    2022-03-11 11:48:21更新: iOS(Swift) fastlane集成,发送 testfligh...

  • 橙子的ScalersTalk第六轮新概念朗读持续力训练Day 1

    练习材料:[Day 2724 2022-03-11] Lesson26(2) Wanted: a large bi...

  • 2022-03-11

    2022-03-11坚持分享第1257天 读《建构解决之道》P273-277 读书感悟:评量问句的向度设计需同步于...

  • 变的优秀的过程

    变得优秀的过程 吉祥如意幸福久久说 2022-03-11 文/吉祥如意幸福久久 优秀的人从不惧怕平淡的生活。因为他...

  • 0130|如何成为“吸金体质”?

    2022-03-11 北京 阴天有雾近日的节奏是:西芹汁+简餐+早晨英语练习+夏洛+写作,还在调整作息时间。今天的...

  • 2022-03-13

    此条高能预警,带你看春日里东城的“神奇”动物在哪里?2022-03-11 17:36来源:北京号北京东城官方发布东...

  • 不说出来,我怕我会忘记“我爱你”

    幸福日志2022-03-11 周五 晴 一个冬天,俩只娃,还有公婆+不算轻松的工作,生活的琐碎让我蒙蔽了双眼,每天...

  • 老伴吵架

    2022-03-11 昨天公公婆婆吵架了,俩个人吵的不可开交,爷爷收拾东西要回老家,奶奶劝不住了把老公叫回家,昨天...

  • 2022-03-13

    孙双金:语文教学的五点主张 千课万人语文在线 2022-03-11 15:08 我提出语文课堂改革的“五点”主张,...

网友评论

      本文标题:2022-03-11

      本文链接:https://www.haomeiwen.com/subject/badcdrtx.html