핸드폰 키보드의 배열 조합 문제 Letter Combinations of a Phone Number

제목은 Leetcode에서 유래했다.
제목: Given a digitstring, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like on the telephone buttons) is given below.
사고방식: 이것은 배열 조합 문제다.하위 상태 공간의 문제이기도 하다.순환으로 해결하기 어렵다.비교적 귀착에 적합한 사상으로 전체 상태자 공간을 두루 돌아다니다.
제목에서 제시한 함수 성명은 귀속 함수로 적합하지 않다. 귀속 과정에서 결과 조합을 끊임없이 확대하려면 결과를 인용 유형의 매개 변수로 하고 귀속 과정에서 지수급으로 확대해야 하기 때문이다.
코드:
class Solution {
public:
string getstring(int num)
{
		vector map;
        map.push_back("");//0
		map.push_back("");//1
		map.push_back("abc");//2
		map.push_back("def");//3
		map.push_back("ghi");//4
		map.push_back("jkl");//5
		map.push_back("mno");//6
		map.push_back("pqrs");//7
		map.push_back("tuv");//8
		map.push_back("wxyz");//9
	return map[num];
}

void fun(vector &result, string digits)
{
	if(digits == "")
		return;
	string str = getstring(digits[0] - '0');
	int n = result.size();
	for(int i=0;i letterCombinations(string digits) 
{
        vector result;
		result.push_back("");
        int n = digits.length();
        if (n <= 0)
            return result;
		
		fun(result, digits);
		return result;
}
};

좋은 웹페이지 즐겨찾기