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
  • 相关阅读:
    ble_app_hrs心率程序 nrf51822
    2019.05.08 《Linux驱动开发入门与实战》
    函数指针
    typedef
    回调函数
    android2
    android1
    每周总结2
    HTML
    数组(续)
  • 原文地址:https://www.cnblogs.com/lixiangfu/p/14554616.html
Copyright © 2011-2022 走看看