华为优招机试(回忆版)——2020.7.15

时间晚上7点到9点,算法机考三道编程题,牛客网平台,回忆版如下:

1.输入正数x,y,两个整数各个数位上的和分别记为m,n,求m%n。例如输入123,11,求(1+2+3)%(1+1),结果为0.

思路:不断求10的余数即可,按照题目意思计算。

2.已知几种食物的单价分为 1,3,7,11,13元,输入每种食物的个数[x1,x2,x3,x4,x5]和目标金额y,求最少需要拿几种食物可以满足目标金额。(印象中说了  一定存在正好满足目标金额的方案)。例如输入为1,2,3,4,5,,目标金额为30,则最少拿4件。2个13元+1个3元+1个1元.

思路:贪心法,从价格高的开始。(动态规划也可以)

3.输入C1,C2,C3...Cn种绳子长度,每种绳子都有无限根,另外输入目标绳子的长度,求有多少种拼接方式能够组成目标长度。例如输入的绳子长度为1,2m,目标长度为4m,共有1+1+1+1,1+1+2,2+2三种拼接方式。

思路:不知道对不对,没有ac,回溯并且排除重复?

更新:第3题是完全背包问题,把选或不选两种情况加起来是当前总的拼接方式。

 

你可能感兴趣的:(leetcode)