2016 - 2024

感恩一路有你

c#语言 如何快速的判断两个string中是否含有相同的字符?

浏览量:1996 时间:2021-03-13 03:38:38 作者:admin

如何快速的判断两个string中是否含有相同的字符?

可以用两个for循环,时间复杂度O(n²),太慢。借助逻辑运算,用二进制表示两个字符串是否含有某个字符,然后进行并操作:做法1:只能判断含有的字符是否相同,不能判断出现次数相同。strings1,s2vector<int>mask(2)for(charc:s1)mask[0]|=1<<c-"a"for(charc:s2)mask[1]|=1<<c-"a"returnmask[0]&mask[1]做法2:能判断每个字符出现的次数都要确保一样:vector<int>count(26,0)for(inti=0i<s1size()i ){count[s1[i]-"a"] count[s2[i]-"a"]--}for(inti=0i<26i )if(count[i]!=0)returnfalsereturntrue

c#语言 比较两个string相等的方法 java判断字符串内容是否相同

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。