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

17.一个电话号码的字母组合回溯(backtrack)解法

基本思想:实现回溯法的模版如下:

// for (let choices of choices) {

// if (isValid(state, choice)) {

// makeChoice(state, choice);

// backtrack(state, choice, res);

// undoChoice(state, choice);

// }

// }

var letterCombinations = function(digits) {

//record current combination

let path = [];

//store the solutiions

let res = [];

const map = new Map([

['2', "abc"],

['3', "def"],

['4', "ghi"],

['5', "jkl"],

['6', "mno"],

['7', "pqrs"],

['8', "tuv"],

['9', "wxyz"],

])

backtrack(0);

return res;

function backtrack(idx) {

if (!digits.length) return [];

//回溯终止条件

if (path.length === digits.length) {

//path是数组,我们只要数组里的元素,join方法1.连接数组中元素2.输出字符串

res.push(path.join(''));

return;

}

//idx指向当前要做出选择的号码

let letters = map.get(digits[idx]);

for (char of letters) {

//make choice, then increase the idx

path.push(char);

//run backtrack function

backtrack(idx + 1);

//undo choice

path.pop();

}

http://www.jsqmd.com/news/732219/

相关文章:

  • 基于STM32单片机智能篮球计分器无线蓝牙WiFi视频监控设计23-407
  • 八大网盘直链解析工具:重新定义文件下载体验的技术革命
  • 3分钟搞定微信语音转MP3:silk-v3-decoder音频转换神器
  • 告别传统对接!用DiffDock+扩散模型搞定药物发现,Ubuntu 22.04保姆级安装避坑指南
  • 文章十六:ElasticSearch 使用enrich策略实现大宽表
  • 雀魂牌谱屋完全指南:三步实现麻将数据分析,快速提升竞技水平
  • VR视频转换终极指南:3D到2D的简单完整解决方案
  • PHP 9.0 Fiber与ReactPHP双引擎选型指南(异步架构决策树V2.3正式发布)
  • CL9975 100mA 低功耗LDO稳压器
  • 开发智能客服场景时,如何借助多模型能力提升回答质量与稳定性
  • 终极指南:5分钟学会用ArchivePasswordTestTool找回压缩包密码
  • 127种语言的语音合成奥秘:espeak-ng如何用4MB内存征服全球发音
  • 从OMA标准文档到实战:手把手解析SUPL协议中的关键消息流(附代理与非代理模式对比)
  • 使用taotokencli工具一键配置团队开发环境与统一模型端点
  • WindowResizer:如何用免费工具强制调整任意窗口大小
  • 通过标准 OpenAI 协议将现有应用无缝迁移至 Taotoken 平台
  • FlexiCubes技术解析:提升3D网格质量的创新方法
  • 八大网盘直链解析工具终极指南:如何免费获取高速下载地址
  • 基于STM32单片机智能DDS函数信号发生器方波正弦波蓝牙设计23-322
  • 2026彩砂地坪漆哪家好:靠谱彩砂地坪漆批发厂家、室外地坪漆源头厂家实力解析 - 栗子测评
  • 企业级开源协作平台Dunder Company:微服务架构与私有化部署实战
  • QT6.10.1版本连接mysql数据的操作心得
  • 使用 Taotoken 后如何清晰观测各模型的用量与成本分布
  • Laravel 12正式支持PHP 8.3 JIT+FFI后,AI模型推理延迟下降64%:性能压测报告与可复现基准测试代码
  • 使用 OpenClaw 配置 Taotoken 作为 Agent 工作流的统一模型供应商
  • 任天堂Switch大气层系统终极指南:7步打造完美自定义固件体验
  • 如何用BilibiliDown快速下载B站视频?5个实用技巧让效率翻倍
  • 避坑指南:DaVinci Configurator工程创建与SWC配置中的5个常见错误及解决方法
  • 快装/对焊球阀哪家靠谱?2026卫生级阀门/管件厂家实力分析-领军卫生级蝶阀活接厂家优选 - 栗子测评
  • 从控制台观察 Taotoken 提供的 API 调用审计日志与安全价值