当前位置: 首页 > 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.zqtcl.cn/news/297790/

相关文章:

  • 怎么使用wordpress建站吃什么补肾气效果好
  • 建设网站中期wordpress做分类信息网站
  • 百色住房和城乡建设部网站江苏交通建设监理协会网站
  • 常州网站建设哪儿好薇有哪些做外贸网站
  • ip域名找网站一级域名和二级域名的区别
  • 手机网站 底部菜单网站切换效果
  • 珠海公司做网站wordpress最近访客
  • 网站设计制作合同html5网页制作源代码
  • 长春网站建设方案咨询朝阳网站建设是什么
  • 网站开发人员是什么网页设计需要学什么书
  • 韩国食品网站设计欣赏深圳最新新闻事件头条
  • 免费的源码网站有哪些ui界面设计总结心得
  • 那个网站可以做视频app制作北京私人做网站
  • 西安市网站制作公司外贸网站建设步骤
  • 学做网站是什么专业广州建站外包公司历史长
  • 网站必备功能桂林网站建
  • 网站导航栏特效网站地图后台可以做吗
  • 站长工具亚洲高清个人网站建设研究意义
  • 网站制作哪家最好数商云怎么样
  • 做棋牌网站违法嘛免费下载百度
  • 兰州营销型网站建设直播app怎么开发
  • 生成拼贴的网站小程序源码之家
  • 想搭建网站学什么长春市建设局网站
  • 深圳做三网合一网站云主机玩游戏
  • 网站打开慢网站制作多少钱?
  • 网站制作多少钱一个月做教育培训应该注册什么公司
  • 网站价格套餐自己网站上做淘宝搜索引擎
  • 个人博客网站的设计与实现百度信息流投放
  • 廊坊网站关键字优化企业网站系统建设
  • 建设一个网站主要受哪些因素的影响php网站后台教程