First Day
第一题
将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。
例如:n=7,k=3,下面三种分法被认为是相同的。
{1,1,5};{1,5,1};{5,1,1};
问有多少种不同的分法。 输出一个整数,即不同的分法。
int SplitTheInteger(int n,int k) {
int sum = 0;
if (k ==1)
return 1;
if (n < k)
return 0;
sum += SplitTheInteger(n - 1, k - 1) + SplitTheInteger(n - k, k);
return sum;
}
解题思路
我门可以将数字n当成n个木棍,分给k个人,递推公式是S(n,k)=S(n-1,m-1)+S(n-m,m);
出口为
s(n,1)=1;
如果k大于n 则S(n,m)=0;
第二题
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
string longestCommonPrefix(vector<string><