123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package main
- func findRepeatedDnaSequencesOld(s string) []string {
- length := len(s)
- seqs := make([]string, 0)
- set := make(map[string]bool, 0)
- for beg, end := 1, length-1; end >= 10; beg, end = beg+1, end-1 {
- s1 := s[beg:length]
- s2 := s[:end]
- for i, j := 0, 0; i <= end-10; i++ {
- for ; j < 10; j++ {
- if s1[i+j] != s2[i+j] {
- break
- }
- }
- if j == 10 && set[s2[i:i+j]] == false {
- seqs = append(seqs, s2[i:i+j])
- set[s2[i:i+j]] = true
- }
- if j != 0 {
- j--
- }
- }
- }
- return seqs
- }
- func findRepeatedDnaSequences(s string) []string {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- var substr string
- hashMap := make(map[string]int)
- seqs := make([]string, 0)
- for i := 0; i <= len(s)-10; i++ {
- substr = s[i : i+10]
- hashMap[substr]++
- if hashMap[substr] == 2 {
- seqs = append(seqs, substr)
- }
- }
- return seqs
- }
|