zoukankan      html  css  js  c++  java
  • 最长特殊序列 II

    最长特殊序列 II

    class Solution {
        boolean containsSub(String s,String p){
            int i,j;
            for(i=0,j=0;i<p.length()&&j<s.length();j++)
                if(s.charAt(j)==p.charAt(i))
                    i++;
            if(i>=p.length())return true;
            return false;
        }
        void removeStr(String p,LinkedList<String>list){
            if(list.contains(p)){
                String s="";
                for(int i=0;i<list.size();i++){
                    s=list.get(i);
                    if(s.length()<p.length()&&containsSub(p,s)){
                        removeStr(s,list);
                    }
                }
                list.remove(p);
            }
        }
        public int findLUSlength(String[] strs) {
            int n=strs.length;
            HashMap<String,Integer>map=new HashMap<>();
            for(String s:strs)
                if(map.containsKey(s))
                    map.replace(s, map.get(s)+1);
                else
                    map.put(s, 1);
            LinkedList<String>list=new LinkedList<>();
            for(String s:map.keySet())    
                list.addFirst(s);
            list.sort(new Comparator<String>(){
    
                @Override
                public int compare(String o1, String o2) {
                    // TODO Auto-generated method stub
                    return o2.length()-o1.length();
                }
                
            });
            int last=list.size(),i=0;
            while(i<list.size()){
                if(map.get(list.get(i))>1)
                    removeStr(list.get(i),list);
                else
                    i++;
                if(last==list.size())break;
                else last=list.size();
            }    
            if(list.size()==0)return -1;
            return list.getFirst().length();
        }
    }

    坑:判断包含关系和递归删除

  • 相关阅读:
    四校联考【20171001】
    C语言基础知识
    页表和TLB
    python
    Cache组织方式
    On the Spectre and Meltdown Processor Security Vulnerabilities
    latex-组织文本
    深入理解计算机系统
    深入理解计算机系统-计算机系统漫游
    逻辑地址到物理地址的转换
  • 原文地址:https://www.cnblogs.com/yuelien/p/10553778.html
Copyright © 2011-2022 走看看