顺丰0829笔试

0AC,题目看了一下,是我做不来的题目。看第二题,像leetcode410.

第一题:长为n的序列,值-1表示不确定的元素,你的任务是将不确定的元素赋予一个正确的值,使得将整个序列分割成最少的段,每段都是等差数列。输出最少的段数。
eg:[-1, -1, -1],最少的段数是3,填上数之后为(1,1,1)
[-1,-1,-1,4,5,1,2]最少段数是2,填上数之后为(1,2,3,4,5,1,2)
第二题:给定m个货物的价值[0, 0,1,1,0,0],k个卡车,每个卡车只能装入连续的货物,要保证卡车装的货物数量最少,卡车运输费用为所装货物价值和的平方,问最大运输费用是多少,此时卡车所装最少的货物数量是多少?
eg:货物价值数组 [0, 0,1,1,0,0], k=3,那么最大运输费用是2,最少货物数量是2,方案是卡车1装货物(1,2),卡车2装货物(3,4),卡车3装货物(5,6)
#笔试题目##顺丰科技#
全部评论
第二题确实和LC.410类似。应该这么改:dp[i][j]应该是将序列前i个分割为j段,每一段的和与这一段的长度之和的最大值中的最大值。即在每一种分割可能中,对于每一段来j说,衡量f(j) = sum(j)+len(j),在每一段的f(j)中找最大的。然后返回dp[n][k]。其中整数部分的平方就是价值,小数部分的倒数就是载货数目。
点赞 回复
分享
发布于 2020-08-30 11:57

相关推荐

2 收藏 评论
分享
牛客网
牛客企业服务