美团笔试345什么鬼……
全部评论
众数那题分三种情况 1.数组和能被n整除的 那就所有数都能转换成同一个数 计算平均再算偏差和 答案是1/2偏差和 2.3.情况基于一个结论->无论什么数组 都能使n-1个数变成一样 2.只有一个数不同 其他所有数都相同 且数组和不能被n整除 这种情况答案是0 3.其他情况 计算平均 舍弃离平均最远的数计算新平均并去整。比平均小的数计为下偏差反之为上偏差。计算上偏差和与下偏差和的最大值为答案
点赞 回复 分享
发布于 2023-08-20 09:29 上海
import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Scanner; /** * @author Q * @version 1.0 * Create by 2023/8/19 19:31 */ class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n =sc.nextInt(); long[] arr = new long[n]; long sum = 0; for(int i =0;i<n;i++){ arr[i] = sc.nextLong(); sum+=arr[i]; } LinkedList<Integer> path = new LinkedList<>(); List<List<Integer>> ans = new ArrayList<>(); build(n, sum, 1, 0,path,ans,arr); System.out.println(ans.size()%1000000007); } private static void build(int k, long n, int startIndex, long sum,LinkedList<Integer> path,List<List<Integer>> ans,long[] arr) { if (sum > n) return; if (path.size() > k) return; if (sum == n && path.size() == k) { ans.add(new ArrayList<>(path)); return; } for(int i = 1; i <= 9; i++) { if(i==arr[path.size()]) continue; path.add(i); sum += i; build(k, n, i , sum,path,ans,arr); sum -= i; path.removeLast(); } } } 第四题用的回溯
点赞 回复 分享
发布于 2023-08-19 21:42 上海
为啥你有5道题
点赞 回复 分享
发布于 2023-08-19 21:21 广东
第四题是dp,开到nx501就行
点赞 回复 分享
发布于 2023-08-19 21:18 北京
3很简单,前缀和维护两种序列的异常点数量,然后遍历所有子字符串就行了。4,5真没看懂。。。
点赞 回复 分享
发布于 2023-08-19 20:31 上海
只a了三题,后面两个分别是01串的权重和众数都不会
点赞 回复 分享
发布于 2023-08-19 20:31 安徽
345到底什么思路啊😭
点赞 回复 分享
发布于 2023-08-19 20:28 陕西

相关推荐

机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
评论
19
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务