笔试题目总结
大致是1代表A,2代表B等等,26代表Z,给定一个数,请问转换成字符串后有几种转换结果:
ep:
input:112
分析:AAB KB AL
output:3
分析:把输入数字分为多个斐波那契段即可
pubilc:int solution(char *s){if(!*s++){return 1;}int sum = 1;int cur = 1;vector<int> fibLen;while(*s){int val = (*s-'0')*10+(*(S-1)-'0');if(val>26){fibLen.push_back(cur);cur = 1;}else{cur++;}s++;}for(int i=0;i<fibLen.siez();i++){sum *= Fib(fibLen);} return sum;
}
private: int Fib(int n){if(n==0) return 0;if(n==1) return 1;return Fib(n-1)+Fib(n-2);
}