百度笔试3月7日求解

1. 第一题给一个长度为n数组,分成k个子序列,要求子序列的平均数之和最大

2. 第二题 定义排列的意义为 [1,2,3,...n] 的数组中每个数字都出现一次,序列长度最后为n,例如 [1,2],[1,2,3,4,5]。
    给一个数组要求列出所有排列的可能性(数组的顺序不能交换)

有没有大哥题目一样的给个思路
全部评论
第一题是求最小,用贪心,很明显对于任何sum/length只要确保最大的sum的length尽可能大,最小的sum的length尽可能小,结果就是最小的,变为求最小的前k-1个的题。 第二题先用前缀和预处理,然后遍历可能的区间1-k在前缀和数组中是否为1+k/2*k。
5 回复 分享
发布于 2023-03-07 22:53 北京
{"pureText":"","imgs":[{"height":"1158.0","alt":"zM2e6WDiAe4nWuRhPs2PvLJnWj2MslK9.jpg","src":"https://uploadfiles.nowcoder.com/images/20230309/677420453_1678354240314/2E006C06249897D1ED15F027BB8E9076","width":"1440.0"}]}
2 回复 分享
发布于 2023-03-09 17:30 辽宁
第二题只会暴力,过了70剩下超时。思路就是遍历每一个元素,以该元素为子序列最大元素,看看是否能构造出子序列,能则子序列数自增一。具体构造方法是以该元素为起始点,向前和向后遍历数组,遇到比他大的就停止遍历,统计总数,如果等于该元素值的即可构造。(数组本身就是一个子序列,每个元素有且仅有一个)
1 回复 分享
发布于 2023-03-07 22:29 广东
第二题首先要包括1在内吧,如果1不在可以直接pass
1 回复 分享
发布于 2023-03-14 12:50 北京
插个眼
点赞 回复 分享
发布于 2023-03-07 22:11 重庆
请问是实习岗位的机考吗
点赞 回复 分享
发布于 2023-03-07 22:15 重庆
佬,第一个是平均数之和最小吧
点赞 回复 分享
发布于 2023-03-07 22:21 陕西
m
点赞 回复 分享
发布于 2023-03-07 22:37 湖北
m
点赞 回复 分享
发布于 2023-03-07 22:46 重庆
有hxd知道第三题,for循环嵌套怎么做吗?
点赞 回复 分享
发布于 2023-03-07 23:35 广东
mark
点赞 回复 分享
发布于 2023-03-08 02:22 北京
第二题可以回溯 https://pastebin.com/KXQvfNR7
点赞 回复 分享
发布于 2023-03-08 22:44 浙江
第二题
点赞 回复 分享
发布于 2023-03-09 17:30 辽宁

相关推荐

点赞 评论 收藏
分享
实习挂完提前批挂_提前批挂完秋招挂:我是来结束这个秋招的😤
点赞 评论 收藏
分享
评论
1
19
分享
牛客网
牛客企业服务