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

营销型网站建设搭建方法/武汉网站推广很 棒

营销型网站建设搭建方法,武汉网站推广很 棒,6617网址导航彩票网站大全,猎头做单都有什么网站通过数据范围想到回溯暴搜,每个字符串可以选和不选。所以直接用回溯法解决,在选的时候,需要先判断一下是否能选,最直观的想法是用一个26长度的数组 第一个版本的代码: class Solution { public:int maxLength(vector…

通过数据范围想到回溯暴搜,每个字符串可以选和不选。所以直接用回溯法解决,在选的时候,需要先判断一下是否能选,最直观的想法是用一个26长度的数组

第一个版本的代码:

class Solution {
public:int maxLength(vector<string>& arr) {vector<int> hashmap(26);dfs(arr, 0, 0, hashmap);return res;}int res = 0;void dfs(vector<string>& arr, int i, int cur, vector<int> hashmap) {if(i >= arr.size()) {res = max(res, cur);return;}vector<int> tmp(hashmap);bool flag = true;for(auto c : arr[i]) {tmp[c - 'a'] ++;if(tmp[c - 'a'] > 1) {flag = false;}}if(flag) {dfs(arr, i + 1, cur + arr[i].size(), tmp);dfs(arr, i + 1, cur, hashmap);} else {dfs(arr, i + 1, cur, hashmap);}}
};

优化的方法是将hashmap改成一个BitMap,利用位运算优化

class Solution {
public:int maxLength(vector<string>& arr) {int m = 0;dfs(arr, 0, 0, m);return res;}int res = 0;void dfs(vector<string>& arr, int i, int cur, int m) {if(i >= arr.size()) {res = max(res, cur);return;}int tmp = m;bool flag = true;for(auto c : arr[i]) {int mask = 1 << (c - 'a');if (mask & tmp) {flag = false;} tmp |= mask;}if(flag) {dfs(arr, i + 1, cur + arr[i].size(), tmp);dfs(arr, i + 1, cur, m);} else {dfs(arr, i + 1, cur, m);}}
};

更优的解法是,我们首先将字符串进行预处理,然后在搜索的时候直接对字符串进行计算

非常漂亮的写法:

class Solution {
public:int maxLength(vector<string>& arr) {vector<int> masks;for (auto s : arr) {int mask = 0;for (auto c : s) {if (mask & (1 << (c - 'a'))) {mask = 0;break;} else {mask |= (1 << (c - 'a'));}}if (mask) {masks.push_back(mask);}}int res = 0;function<void(int, int)> backtrack = [&](int pos, int mask) {if (pos == masks.size()) {res = max(res, __builtin_popcount(mask));return;} if ((mask & masks[pos]) == 0) {backtrack(pos + 1, mask | masks[pos]);}backtrack(pos + 1, mask);};backtrack(0, 0);return res;}
};

 

 

 

http://www.lbrq.cn/news/1370953.html

相关文章:

  • 2019年做网站还有前景吗/搜索引擎seo优化
  • 影城网站设计/长沙网站设计拓谋网络
  • 不成立公司怎么做企业网站/竞价关键词优化软件
  • 网站关键词库/上百度推广的网站要多少钱
  • 沈阳和平三好街做网站/萧山seo
  • 东莞市网络公司/谷歌优化排名哪家强
  • 网站建设总体费用/网页seo
  • 提升学历要多少钱/福州seo排名公司
  • pc网站 手机网站 微信/网络推广费用高吗
  • 免费html5网站模板/推广普通话作文
  • 软件界面设计软件/seo优缺点
  • 高唐网站建设公司/站长seo查询工具
  • 株洲做网站客服电话/今日新闻热点10条
  • 低价货源网站/宁波seo网络推广定制多少钱
  • 网站源码模板/热门搜索排行榜
  • 门户网站开发视频/百度24小时人工电话
  • 网站怎么做跳转/百度2023免费下载
  • dreamweaver 企业网站模板/优化设计答案五年级上册
  • 网站搭建百家号/百度智能云
  • 网站源码怎么打开/企业seo优化
  • 企业网站建设的/小红书怎么推广
  • 珠海七中科技制作/苏州seo服务
  • 企业黄页网站源码/长尾关键词举例
  • 自学网站建设/武汉新闻最新消息
  • 网页站点不安全怎么办/2021国内最好用免费建站系统
  • 常州网上房地产官网/网站优化推广方案
  • 网站管理员要干些什么/什么是seo技术
  • 网站建设的价钱/网站seo排名优化方法
  • 秦皇岛网站制作多少钱/济南网站制作平台
  • 品牌网站建设解决/人工智能培训机构排名
  • nestjs @Param 从入门到精通
  • ulimit参数使用详细总结
  • 专网内网IP攻击防御:从应急响应到架构加固
  • LLM - 智能体工作流设计模式
  • 数据结构(12)二叉树
  • WAIC引爆AI,智元机器人收购上纬新材,Geek+上市,157起融资撑起热度|2025年7月人工智能投融资观察 · 极新月报