zoukankan      html  css  js  c++  java
  • 回溯与递归

    1. map<char, string>my_map;
       void backTrack(vector<string>&combinations,string digits, int index,string &combination) {
          if (index == digits.size()) {
              combinations.push_back(combination);
          }
          string letters = my_map[digits[index]];
          for (int i = 0; i < letters.size(); i++) {
              combination.push_back(letters[i]);
              backTrack(combinations, digits, index + 1, combination);
              combination.pop_back();
          }
      }
      vector<string> letterCombinations(string digits) {
          my_map.insert(pair<char, string>('2', "abc"));
          my_map.insert(pair<char, string>('3', "def"));
          my_map.insert(pair<char, string>('4', "ghi"));
          my_map.insert(pair<char, string>('5', "jkl"));
          my_map.insert(pair<char, string>('6', "mno"));
          my_map.insert(pair<char, string>('7', "pqrs"));
          my_map.insert(pair<char, string>('8', "tuv"));
          my_map.insert(pair<char, string>('9', "wxyz"));
          vector<string>combinations;
          if (digits.empty()) {
              return combinations;
          }
          string combination;
          backTrack(combinations,digits, 0, combination);
          for (int i = 0; i < combinations.size(); i++) {
              cout << combinations[i] << endl;
          }
          return combinations;
      }
    never never wait
  • 相关阅读:
    第一章:简介
    2018年10月底新公司
    第四章:集成
    第三章:如何建模服务
    第二章:演化架构师
    第一章:微服务
    4、工厂模式
    5、单例模式
    8、模板方法模式
    3、字典介绍
  • 原文地址:https://www.cnblogs.com/lixiangfu/p/14554616.html
Copyright © 2011-2022 走看看