Skip to content

Latest commit

 

History

History
49 lines (38 loc) · 1.56 KB

187.md

File metadata and controls

49 lines (38 loc) · 1.56 KB

✏️Leetcode之PHP版题目解析(187. Repeated DNA Sequences)

2019-10-12 吴亲库里 库里的深夜食堂


✏️描述

说实话这道题一开始没明白是什么意思。所有的DNA都是A,C,G,T组成。写一个函数找出所有出现超过一次的10个字符长串,提取关键字,超过一次,10个字符长串。


✏️题目实例

✏️题目分析

我这里并没有使用高级点的位运算。而是很暴力的就像滑动窗口一样,每次向右划一个身位,然后截取10个字符串。没有出现过的就存在数组中,数组中已存在的说明出现至少超过一次,放在最后的结果中,很好理解吧

   /**
     * @param String $s
     * @return String[]
     */
    function findRepeatedDnaSequences($s) {
        $sub=[];
        $res=[];
        $len=strlen($s);
        for($i=0;$i<$len-9;$i++){
            $temp=substr($s,$i,10);
            if(!isset($sub[$temp])){
                $sub[$temp]=1;
            }elseif($sub[$temp]==1){
                $res[]=$temp;
                $sub[$temp]+=1;
            }
        }
        return $res;
    }
    

联系