当前位置: 首页 > wzjs >正文

慧生活798app下载成都网站seo

慧生活798app下载,成都网站seo,做qq图片的网站有哪些,怎么用PS做珠宝网站这道题自己先想了一边,定义了一个比较字符串的函数,用二重循环和一个数组来实现字符串的比较,若两个字符串是异位词,那么就返回true,否则返回false,在主函数中,同样用一个二重循环来遍历向量中的…

这道题自己先想了一边,定义了一个比较字符串的函数,用二重循环和一个数组来实现字符串的比较,若两个字符串是异位词,那么就返回true,否则返回false,在主函数中,同样用一个二重循环来遍历向量中的每一个字符串,看它是否在之前出现过异位词,若没有,则新建一个列表存放,若有,则将其放到异位词所在的向量中。改了好几遍才通过了3个测试样例,一提交,超时了。。。。无语。。。

//原来的超时代码
class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {vector<vector<string>> result;vector<bool> is_add(strs.size(), false);for(int i = 0; i < strs.size(); i++){if(is_add[i]) continue;  //若已被存放则跳过本次循环result.push_back({strs[i]});for(int j = i + 1; j < strs.size(); j++){if(compare(strs[i], strs[j])){result[result.size() - 1].push_back(strs[j]);is_add[j] = true;}  }}return result;}bool compare(string s1, string s2){bool flag = false;int hash[26] = {0}; //通过s1来建立哈希表for(char& c : s1)hash[c - 'a']++;for(char& c : s2){hash[c - 'a']--;if(hash[c - 'a'] < 0) return false;}for(int& i : hash){if(i != 0) return false;}return true;}
};

后面看了一下题解,总结了一个比较简单的思路,通过给字符串排序和哈希表来实现。哈希表则定义为unordered_map<string, vector<string>>。异位词经过排序之后一定会变成相同的单词,因此首先对每一个单词排序,排序后的单词作为键,排序前的字符串作为值中的元素。字符串中每个字符的出现次数的向量作为unordered_map的键,遍历向量中的每一个字符串s,用一个字符串key接收这个值,然后将其排序,则ASCII码小的字符会在前面,大的在后。得到排序后的key以后,首先在unordered_map中查找有没有这个键,如果有,则将当前遍历到的字符串s添加到对应的向量中,否则直接新建一个键值对,键为当前的key,值为{s}。当遍历结束后直接遍历哈希表,将其中的每一个向量添加到结果向量中即可。

class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {vector<vector<string>> result;unordered_map<string, vector<string>> hash;for(string& s : strs){string key = s;sort(key.begin(), key.end());if(hash.find(key) != hash.end()) //找到相同分组hash[key].emplace_back(s);elsehash[key] = {s};}for(auto& pair : hash)result.emplace_back(pair.second);return result;}
};

这道题后面还要刷。

http://www.dtcms.com/wzjs/43077.html

相关文章:

  • 手机网站建设需求it培训机构排行榜
  • 临沂做wish网站刷排名seo
  • wordpress 单栏优化网站seo公司
  • 网站建设品牌推广seo网络推广培训去哪里好
  • 做网站要源代码近期国际新闻20条
  • 网站pc和手机端分离怎么做百度推广登录网址
  • 互联网公司网站模板南京seo推广公司
  • 最好的餐饮设计网站建设东莞企业网站排名优化
  • 维基百科建设网站可以免费网络推广网站
  • 太原做网站个人长沙网址seo
  • 网站开发可以当程序员新东方烹饪学校
  • 常见的网站名称有哪些沈阳企业网站seo公司
  • 扁平化企业网源码win8风格精简化源码asp带后台企业网站自己怎么做网址开网站
  • 电脑机箱定制网站百度客户电话
  • 建站之星 网站排名seo是什么意思广东话
  • Wordpress上传万网空间唐山百度seo公司
  • 深圳有哪些网站开发公司媒介平台
  • 武汉做网站网络公司百度竞价开户流程
  • 重庆定制网站开发价格西安网站维护
  • python做调查问卷网站网络营销产品策略分析
  • 网站建设类公司新闻推销产品怎么推广
  • 地方性资讯门户网站裂变营销五种模式十六种方法
  • 新闻网站传播力建设怎么在腾讯地图上添加自己的店铺
  • 部署自己做的网站吗十大经典案例
  • 个人网站怎么备案可以做哪些哈尔滨网站建设
  • wordpress进销存插件南昌seo
  • 广西省建设厅网站seo推广的常见目的有
  • 武汉便宜做网站360搜索推广官网
  • b站推广网站入口mmm网站开发的步骤
  • 深圳专业政府网站建设东莞seo搜索