鉴于2个字符串:StringstringA="WHATSUP";StringstringB="HATS";我想找出stringBHATS中的每个字符是否都存在于中字符串A在初级方法中,该过程可以在嵌套的for循环中完成,其计算复杂度为O(n^2)。for(inti=0;i我正在寻找更快的解决方案来解决这个问题。 最佳答案 有一个线性时间算法。将您的stringA转换为具有O(1)成员资格测试的哈希字符集。遍历stringB中的每个字符。如果其中一个字符不在您的哈希集中,则测试失败。如果没有失败,则测试成功。
有没有简单的方法来复制C字符串?我有constchar*stringA,我希望char*stringB取值(注意stringB不是常数)。我尝试了stringB=(char*)stringA,但这使得stringB仍然指向相同的内存位置,因此当stringA稍后更改时,stringB也是。我也尝试过strcpy(stringB,stringA),但似乎如果stringB没有初始化为足够大的数组,就会出现段错误。不过,我对C字符串不是很有经验,我是否遗漏了一些明显的东西?如果我只是将stringB初始化为char*stringB[23],因为我知道我的字符串永远不会超过22字符(并允许空
假设我有两个文件。你好.gopackagemaintypeStringAstringfuncmain(){varsStringAs="hello"s0:=s.(StringB)再见了packagemainimport"fmt"typeStringBstringfunc(sStringB)Greetings(){fmt.Println(s)}然后像这样编译:gobuildhello.gobye.go如何将StringA转换为StringB类型?谢谢 最佳答案 您可以在其他语言中使用s0:=StringB(s)的方式作为构造函数,但这里
假设我有两个文件。你好.gopackagemaintypeStringAstringfuncmain(){varsStringAs="hello"s0:=s.(StringB)再见了packagemainimport"fmt"typeStringBstringfunc(sStringB)Greetings(){fmt.Println(s)}然后像这样编译:gobuildhello.gobye.go如何将StringA转换为StringB类型?谢谢 最佳答案 您可以在其他语言中使用s0:=StringB(s)的方式作为构造函数,但这里