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

高仿服装网站建设小程序商城制作一个需要多少钱

高仿服装网站建设,小程序商城制作一个需要多少钱,泰州市建设局网站,企业注册资本是真实的吗题目: 给你一个字符串数组 words 。words 中每个元素都是一个包含 两个 小写英文字母的单词。 请你从 words 中选择一些元素并按 任意顺序 连接它们,并得到一个 尽可能长的回文串 。每个元素 至多 只能使用一次。 请你返回你能得到的最长回文串的 长度…

题目:

给你一个字符串数组 words 。words 中每个元素都是一个包含 两个 小写英文字母的单词。

请你从 words 中选择一些元素并按 任意顺序 连接它们,并得到一个 尽可能长的回文串 。每个元素 至多 只能使用一次。

请你返回你能得到的最长回文串的 长度 。如果没办法得到任何一个回文串,请你返回 0 。

回文串 指的是从前往后和从后往前读一样的字符串。

解法一(贪心 + 哈希表):

根据回文串的定义,回文串可以由奇数或者偶数个words中的单词拼接而成,但必须满足以下条件:

1、如果数量为奇数,那么位于正中间的单词必须是回文字符串(即两个字符相等);

2、每个单词和反转后对应位置的单词必须互为反转字符串。

根据上面的两个条件,我们可以得出构造最长回文串的规则:

1、对于两个字符不同的单词,需要尽可能多的成对选择它和它的反转字符串;

2、对于两个字符相同的单词,需要尽可能多的成对选择该单词;

3、如果按照上述条件挑选后,仍然存在未被选择的两个字符相同的单词(此时该字符串只可能有一个未被选择,且该字符串一定在words中出现奇数次),我们可以任意选择一下。如下为笔者代码:

class Solution {
public:int longestPalindrome(vector<string>& words) {int result = 0;int jishu = 0;unordered_map<string, int[2]> hashTable1;int length = words.size();for(int i =0; i<length; i++){hashTable1[words[i]][0]++;}for (auto& pair : hashTable1) {string s = pair.first;if(s[0]==s[1]){if(pair.second[0]%2==0){result = result + (pair.second[0])*2;}else{if(jishu==0){jishu = pair.second[0];result = result + (pair.second[0])*2; continue;}if(jishu < pair.second[0]){result = result-2+(pair.second[0])*2; jishu = (pair.second[0])*2; }else{result = result + (pair.second[0]-1)*2;}}}else{if(pair.second[1]==0){string sT = "";sT = sT + s[1];sT = sT + s[0];auto it = hashTable1.find(sT);if(it!=hashTable1.end()){it->second[1]=1;pair.second[1]=1;int max = std::min(pair.second[0], it->second[0]);result = result + max*4;}}}}return result;}
};

笔者小记:

在遍历哈希表中的每个单词时,为了避免重复计算成对选择的单词,我们可以设置访问标记符,哈希表初始访问符设置为0,在后续遍历中将已访问的哈希表元素的标记符修改为1,添加if条件语句仅遍历标记符为0的哈希表元素,可减少时间复杂度,避免重复访问成对选择的哈希表元素。

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

相关文章:

  • 小鼠标网站建设企业网站设计方案
  • 商务网站建设推荐寻找客户的12种方法
  • 网站制作优化推广seo搜索引擎优化内容
  • 做足球原创短视频网站全国31省市疫情最新消息今天
  • div css 网站什么是指数基金
  • 电子商务网站建设设计报告seo优化技术培训中心
  • 上海网站建设品牌网络推广的含义
  • 零基础网站建设教学在哪里如何免费建立一个网站
  • 网站单页支付宝支付怎么做的站长工具传媒
  • 怎么申请建立一个公司网站网络舆情应急预案
  • 广州创意设计公司批量优化网站软件
  • 视频网站做短视频做个小程序需要花多少钱
  • 国外网站建设软件百度移动应用
  • 如何做网站首页的psd图网络建站平台
  • 怎么样做一个网站西安网络优化大的公司
  • 免费b2b网站模板最新百度新闻
  • 宁波设计网站公司哪有免费的网站
  • 建网站要多少钱一台怎样做企业宣传推广
  • wordpress制作官方网站搜索引擎整合营销
  • 网上做涉黄网站怎么判百度帐号登录入口
  • 真如做网站上海网络推广排名公司
  • 网站空格键代码百度seo关键词排名s
  • 网页制作与网站建设宝典 pdf整站排名服务
  • 网站设计 网站推广 网站优化镇江优化推广
  • 宣传型网站建设电商网站设计
  • 怎么做网站电话客服做个公司网站多少钱
  • wordpress 自定义页面模版优化公司排行榜
  • wordpress 如何修改主题宽度网站的seo优化报告
  • 省建设安全监督站的网站上海网络优化seo
  • 网站怎么做外链seocui cn