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

leetcode 756(枚举可填字母)

756: 金字塔转换矩阵

基于bottom构造“金字塔”型矩阵

int n=bottom.size(); vector<string> pyramid(n); for(int i=0;i<n-1;i++) pyramid[i].resize(i+1); pyramid[n-1]=move(bottom);

为了快速知道 AA→[B,C] 的对应关系,可以把 allowed 用哈希表(或者二维数组)分组,把 allowed[i] 前两个字母对应的第三个字母,记录在一个列表中,方便后续遍历。

string base[6][6]; //三角形底部两个字母 -> [三角形顶部字母] for(auto& a:allowed) base[a[0]-'A'][a[1]-'A']+=a[2];

优化:减少重复搜索(剪枝)

class Solution { public: bool pyramidTransition(string bottom, vector<string>& allowed) { string base[6][6]; //三角形底部两个字母 -> [三角形顶部字母] for(auto& a:allowed) base[a[0]-'A'][a[1]-'A']+=a[2]; int n=bottom.size(); vector<string> pyramid(n); for(int i=0;i<n-1;i++) pyramid[i].resize(i+1); pyramid[n-1]=move(bottom); unordered_set<string> vis; //访问标记 //现在准备填(i,j)这个格子,返回能否填完所有格子(从下往上填,每行从左到右填) auto dfs=[&](this auto&& dfs,int i,int j)->bool{ if(i<0) return true; //所有格子都已填完 if(j==i+1){ if(!vis.insert(pyramid[i]).second) return false; return dfs(i-1,0); } //枚举(i,j)填什么字母,这取决于(i+1,j)和(i+1,j+1)填的字母 for(char top:base[pyramid[i+1][j]-'A'][pyramid[i+1][j+1]-'A']){ pyramid[i][j]=top; //遍历已知底下两个字母时上方allowed的字母(base中) if(dfs(i,j+1)) return true; } return false; }; //从倒数第二行开始填 return dfs(n-2,0); } };
http://www.zskr.cn/news/178613.html

相关文章:

  • PyTorch循环神经网络RNN实战(GPU加速训练)
  • Markdown绘制神经网络结构图:配合PyTorch讲解模型
  • 自动驾驶车载计算平台低功耗架构设计入门必看
  • vivado安装教程2018入门必看:适用于ISE转向用户
  • PyTorch模型预测接口封装为gRPC服务(GPU后端)
  • 3分钟掌握UML绘图:零安装在线编辑器的终极指南
  • ncmdump:3步解锁加密音乐,让网易云音频重获自由
  • 仿写文章prompt:xnbcli工具使用指南
  • CefFlashBrowser:轻松突破网站限制的自定义版本Flash浏览器
  • xnbcli:星露谷物语XNB文件处理终极指南
  • PyTorch动态图机制优势解析(相比静态图框架)
  • NVIDIA Profile Inspector 显卡性能调优终极指南
  • PyTorch模型推理批处理提升GPU吞吐量
  • Git标签管理PyTorch项目的重要版本节点
  • 百度网盘解析工具完全使用指南:突破下载限制实现高速下载
  • 碧蓝航线Alas脚本完全攻略:智能自动化解放你的双手
  • 操作指南:使用官方工具执行Vivado卸载
  • Jupyter插件推荐:提升PyTorch代码编写体验
  • NCM音频解密终极指南:一键解锁加密音乐文件
  • PyTorch自定义Dataset类高效读取GPU训练数据
  • HBuilderX调试环境配置:Windows下Chrome联调详解
  • 重塑C++开发体验:Red Panda Dev-C++轻量级编程工具深度解析
  • 2025压铸厂家推荐:铝合金与锌合金精密压铸技术领跑,六家高潜力本土品牌深度解析
  • mptools v8.0首次启动配置:小白指南与避坑建议
  • Git下载大模型代码后怎么跑?一文搞定PyTorch环境依赖
  • PyTorch-CUDA-v2.9镜像在智能音箱中的部署实践
  • WELearnHelper终极指南:5大智能功能让学习效率翻倍 [特殊字符]
  • Docker Compose编排PyTorch+CUDA+Jupyter服务集群
  • PyTorch Early Stopping避免过拟合(GPU资源节约)
  • PyTorch-CUDA-v2.9镜像在智能写作助手中的应用