百词斩这次题目不是很难,但是时间比较紧张,3道编程题60分钟,接下来放上编程题:

第一题

求数组的可达路径,有点类似于《剑指offer》上机器人运动路径,目测使用动态规划,但是具体怎么做我还没想好,先放着

2018百词斩暑期实习笔试-机器学习算法岗位2018百词斩暑期实习笔试-机器学习算法岗位

 

 

第二题:

求字符串的最小编辑距离,题目还是很经典,但是时间不够了,没有完全完成,网上类似的题目很多,思路也比较明确,就是动态规划,只是输入输出需要做一些修改。

2018百词斩暑期实习笔试-机器学习算法岗位2018百词斩暑期实习笔试-机器学习算法岗位

 

 

第三题:

这是唯一一道我完全在规定时间内做完的题目,题目特别像LeetCode上的“count and say”,不是很难,思路就是按照顺序读取字符,在循环中进行计数,这里有两个地方要注意:1、只出现一次的字符不需要标上数量;2、需要用到t0_string函数把数字转化为string类型字符串

2018百词斩暑期实习笔试-机器学习算法岗位2018百词斩暑期实习笔试-机器学习算法岗位

代码如下:

 1 int main() {
 2     string s1, res = "";
 3     cin >> s1;
 4     int i = 0, len = s1.size();
 5     while (i < len)
 6     {
 7         res += s1[i];
 8         int count = 1;
 9         while ((i + 1) < len && s1[i] == s1[i + 1])
10         {
11             count++;
12             i++;
13         }
14         if (count != 1)
15            res += to_string(count);
16         i++;
17     }
18     cout << res << endl;
19     return 0;
20 }