环保网站建设,宣传软文推广,wordpress如何作页面,泉州seo 泉州网站建设判断两个字符串是否是最接近 怎么解释#xff0c;最接近#xff1f; 首先两个字符串的长度要一样#xff0c;字符串中的字符出现的频率要一样 然后字符串中任意两个不同字符串可以直接交换 当然#xff0c;多个也可以交换#xff0c;例如#xff1a;aacabb - bbcbaa最接近 首先两个字符串的长度要一样字符串中的字符出现的频率要一样 然后字符串中任意两个不同字符串可以直接交换 当然多个也可以交换例如aacabb - bbcbaa所有 a 转化为 b 而所有的 b 转换为 a 如果转换后是另一个字符串则说这两个字符串接近 注意次数不限 //这题 暴力一点先统计 字符是否相同再看频率是否相同然后直接返回结果class Solution {
public:bool closeStrings(string word1, string word2) {unordered_mapchar, int freq1, freq2;for (char ch : word1) {freq1[ch];}for (char ch : word2) {if (freq1.find(ch) freq1.end()) {return false;}freq2[ch];}unordered_mapint, int countFreq1, countFreq2;for (const auto kv : freq1) {countFreq1[kv.second];}for (const auto kv : freq2) {countFreq2[kv.second];}return countFreq1 countFreq2;}
};更新
//贴一个官方题解
//一下子真的想不到第一想到的总是粗暴的现实生活又何尝不是如此谈恋爱、解题...
class Solution {
public:bool closeStrings(string word1, string word2) {vectorint count1(26), count2(26);for (char c : word1) {count1[c - a];}for (char c : word2) {count2[c - a];}//要求字符一样但对个数没有字符串长度 做要求for (int i 0; i 26; i) {if (count1[i] 0 count2[i] 0 || count1[i] 0 count2[i] 0) {return false;}}sort(count1.begin(), count1.end());sort(count2.begin(), count2.end());//排序之后单词的出现次数个数 是一样的但是不能排除元素内容是不是一样的return count1 count2;}
};月底小结xxxxxxxxxx 人是靠不住的靠墙墙倒靠人人跑。唯有靠自己 呆久了舒适区就多出来反思反思 多看书能看实体书最好 今年也只看了几本书看完之后好像并不能提升什么就像无法顺着成功道路成功。 多思考、毕竟都是在争夺的普通人……好吧有点跳。。。