美团笔试0819
第一二题比较简单。
第三题,给01串,求所有子串权重和。 维护一下从开头到当前字符变化成符合条件的01串的变换次数(0,1两种情况),然后枚举起点和长度,用前面维护的数组直接计算。
第四题,给a数组,要求构造b数组。动态规划,dp[i][j]代表第i个数时,已经选择的元素总和为j的数量。
第五题,众数,只有2种可能众数的个数为n个和n-1个,如果是n个直接做,n-1则是先排序,然后分情况讨论,选前n-1个或者后n-1个。然后在中位数附近枚举了一下可能值。
第三题,给01串,求所有子串权重和。 维护一下从开头到当前字符变化成符合条件的01串的变换次数(0,1两种情况),然后枚举起点和长度,用前面维护的数组直接计算。
第四题,给a数组,要求构造b数组。动态规划,dp[i][j]代表第i个数时,已经选择的元素总和为j的数量。
第五题,众数,只有2种可能众数的个数为n个和n-1个,如果是n个直接做,n-1则是先排序,然后分情况讨论,选前n-1个或者后n-1个。然后在中位数附近枚举了一下可能值。
全部评论

第三题我感觉是回溯求子集然后哈希去重排除只有一种数的子集
求下第三题的代码
求问第五题,[1 4 4 3]这种情况,怎么直接做呢?如果是求平均,那应该是[3 3 3 3]但这个应该不是最优吧, [2 4 4 2]应该是最优,这个怎么得到的呢?也就是多众数的情况该怎么考虑呢?
求第三题代码!
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
03-07 13:32
门头沟学院 C++ 点赞 评论 收藏
分享