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

购物网站建设前的市场分析网站制作:网推宝|百度

购物网站建设前的市场分析,网站制作:网推宝|百度,郑州男科医院十大排名,网站搭建什么意思文章目录1. 题目2. 解题2.1 哈希map2.2 Trie树1. 题目 给定一组唯一的单词#xff0c; 找出所有不同 的索引对(i, j)#xff0c;使得列表中的两个单词#xff0c; words[i] words[j] #xff0c;可拼接成回文串。 示例 1: 输入: [abcd,dcba, 找出所有不同 的索引对(i, j)使得列表中的两个单词 words[i] words[j] 可拼接成回文串。 示例 1: 输入: [abcd,dcba,lls,s,sssll] 输出: [[0,1],[1,0],[3,2],[2,4]] 解释: 可拼接成的回文串为 [dcbaabcd,abcddcba,slls,llssssll]示例 2: 输入: [bat,tab,cat] 输出: [[0,1],[1,0]] 解释: 可拼接成的回文串为 [battab,tabbat]来源力扣LeetCode 链接https://leetcode-cn.com/problems/palindrome-pairs 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题 2.1 哈希map class Solution { public:vectorvectorint palindromePairs(vectorstring words) {unordered_mapstring, int w_id;setint wdLen;for(int i 0; i words.size(); i){w_id[words[i]] i;//字符串idxwdLen.insert(words[i].size());//字符串长度}vectorvectorint ans;string front, back, revword;for(int i 0; i words.size(); i){revword words[i];//逆序的字符串reverse(revword.begin(),revword.end());if(w_id.count(revword) w_id[revword] ! i)ans.push_back({i, w_id[revword]});//字符串的逆序存在//遍历words[i]可能的子串长度,寻找前部分存在或者后部分存在//且自身剩余的子串为回文int len words[i].size();for(auto it wdLen.begin(); *it len; it){front words[i].substr(0, *it);reverse(front.begin(),front.end());back words[i].substr(*it);if(w_id.count(front) ispalind(back))//前缀的逆存在ans.push_back({i, w_id[front]});}for(auto it wdLen.begin(); *it len; it){front revword.substr(0, *it);back revword.substr(*it);if(w_id.count(front) ispalind(back))//后缀的逆存在ans.push_back({w_id[front], i});}}return ans;}bool ispalind(string s){int l 0, r s.size()-1;while(l r)if(s[l] ! s[r--])return false;return true;} };904 ms 45.6 MB 2.2 Trie树 class trie { public:unordered_mapchar, trie* next;int suffix -1;void insert(string s, int idx){trie *cur this;for(int i s.size()-1; i 0; --i)//单词逆序插入{if(!cur-next[s[i]])cur-next[s[i]] new trie();cur cur-next[s[i]];}cur-suffix idx;//结束时记录单词编号} }; class Solution { public:vectorvectorint palindromePairs(vectorstring words) {trie * t new trie(), *cur;vectorvectorint ans;string revword;for(int i 0; i words.size(); i){t-insert(words[i], i);}for(int i 0; i words.size(); i){int n words[i].size(), j, k;cur t;for(j 0; j n; j){if(cur-suffix ! -1 cur-suffix ! i ispalind(words[i], j, n-1))//单词的前缀的逆序在trie中剩余的为回文ans.push_back({i, cur-suffix});if(!cur-next[words[i][j]])break;cur cur-next[words[i][j]];}for(j 0; j n; j)//等号上下只取一次否则答案有重复的{ // j n 时包含了完整字符串的情况cur t;for(k n-j; k n; k)//遍历单词的后缀{if(!cur-next[words[i][k]])break;cur cur-next[words[i][k]];}if(kn cur-suffix ! -1 cur-suffix ! i ispalind(words[i], 0, n-j-1))//该后缀的逆在trie中且前部分为回文ans.push_back({cur-suffix, i});}}return ans;}bool ispalind(string s, int l, int r){while(l r)if(s[l] ! s[r--])return false;return true;} };940 ms 141.3 MB trie 改用数组 trie* next[26] {NULL}; 提高运行效率 280 ms 208.5 MB 我的CSDN博客地址 https://michael.blog.csdn.net/ 长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步
http://www.yutouwan.com/news/464533/

相关文章:

  • 网站开发环境安装程序手机淘宝
  • 桐城市住房城乡建设局网站wordpress模板移植
  • 商城网站具体需求网站登录后不显示内容
  • 国外网站模版免费下载南京做网站品牌
  • 汕头网页网站制作在线修图网站
  • 做标书的网站厦门seo排名
  • 免费做简历的软件网站专门做搜索种子的网站有哪些
  • 医院网站建设投标要求知名网站定制报价
  • 临沂网站制作费用上海公司注册流程和费用
  • 免费网站制作效果连云港建设工程质量监督站网站
  • thinkphp 网站根目录地址德阳网站优化
  • 怎么用织梦做网站前台网站免费维护期是多少
  • 公司做网站的好处叫别人做网站安全吗
  • 网站单个页面网络策划是什么
  • 湘潭电大网站网络营销的推广策略
  • 招聘网站设计师要求广州网站建设推广公司哪家好
  • 长宁网站推广公司提供手机网站建设
  • wordpress打不开后台青岛seo代理计费
  • 怎么用二维动画做网站首页步骤企业培训课程种类
  • 余姚网站制作建网站制作
  • 网站top排行榜工业设计公司怎么接活
  • 阿里云商业网站建设视频长沙app软件制作
  • 兰州网站建设和推广网站建设教程网
  • 数码产品网站建设策划书东莞最好的网络公司找火速
  • 网站注册系统源码制作一个网页的教程
  • 响应网站怎么做教学视频上海集团有限公司
  • 查网站有没有做推广百度在线
  • 模板建站流程电子商务网站 注意
  • ps做字幕模板下载网站企业服务器
  • 网站建设项目技术公司官网首页设计