为了账号安全,请及时绑定邮箱和手机立即绑定

获得循环子串的最佳方法是什么

获得循环子串的最佳方法是什么

Go
缥缈止盈 2021-08-30 14:23:37
我想要这样的东西:var peptide = "LENQ"peptide[2:3] -> NQpeptide[2:4] -> NQLpeptide[2:5] -> NQLE最好的方法是什么?可能有一个库函数来获取它还是我需要自己编写它?
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

例如,


package main


import (

    "fmt"

    "unicode/utf8"

)


func cyclicSubstrings(str string) []string {

    n := utf8.RuneCountInString(str)

    substrs := make([]string, 0, n*n)

    cycles := str + str

    for i := range str {

        cycle := cycles[i : i+len(str)]

        for j, r := range cycle {

            substrs = append(substrs, cycle[:j+utf8.RuneLen(r)])

        }

    }

    return substrs

}


func main() {

    peptide := "LENQ"

    fmt.Println(cyclicSubstrings(peptide))

}

输出:


[L LE LEN LENQ E EN ENQ ENQL N NQ NQL NQLE Q QL QLE QLEN]


查看完整回答
反对 回复 2021-08-30
  • 1 回答
  • 0 关注
  • 180 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信