快手工程B试卷第三题咋做呀
前两个AC第三个时间不够没写完过了17.6%
有啥通俗易懂的思路嘛
编辑一下
不会用动态规划,第一题代码。。。
#include<iostream>
using namespace std;
#include<string>
int Get(string& s1, string& s2)
{
int ret = 0;
if (s1.size() == s2.size())
{
if (s1.c_str() == s2.c_str())
{
return ret;
}
else
{
size_t i = 0;
size_t j = 0;
int grep = 0;
for (i; i < s1.size(); ++i)
{
for (j; j < s2.size(); ++j)
{
if (s1[i] == s2[j])
{
grep++;
break;
}
}
}
return s1.size() - grep;
}
}
else
{
size_t i = 0;
size_t j = 0;
size_t grep = 0;
for (i; i < s1.size(); ++i)
{
j = grep;
for (j; j < s2.size(); ++j)
{
if (s1[i] == s2[j])
{
ret++;
grep = j;
break;
}
}
}
return s1.size() + s2.size() - 2 * ret;
}
}
第二题,每次保留两位数,然后0返回的是1.
using namespace std;
#include<string>
int Get(string& s1, string& s2)
{
int ret = 0;
if (s1.size() == s2.size())
{
if (s1.c_str() == s2.c_str())
{
return ret;
}
else
{
size_t i = 0;
size_t j = 0;
int grep = 0;
for (i; i < s1.size(); ++i)
{
for (j; j < s2.size(); ++j)
{
if (s1[i] == s2[j])
{
grep++;
break;
}
}
}
return s1.size() - grep;
}
}
else
{
size_t i = 0;
size_t j = 0;
size_t grep = 0;
for (i; i < s1.size(); ++i)
{
j = grep;
for (j; j < s2.size(); ++j)
{
if (s1[i] == s2[j])
{
ret++;
grep = j;
break;
}
}
}
return s1.size() + s2.size() - 2 * ret;
}
}
第二题,每次保留两位数,然后0返回的是1.