社招瓴岳科技二面(60 min)

1. 项目问了我WebSocket相关内容然后深挖一下项目的各个点。
2. MySQL索引的相关问题,我回就是我对SQL是怎么操作、优化的,然后还聊了聚集索引。
3. 一道算法题
给定随机数组 data[],寻找指定k个数的和为m的所有组合
== 示例
输入
int data[] = {1,2,3,4,5,6,8,10};
int k = 2;
int m = 7;
返回
 {{1, 6}, {2, 5}, {3, 4}}
全部评论
就这几个?
点赞 回复 分享
发布于 07-26 17:41 江苏
public static List<List<Integer>> kNumber2SumM(List<Integer> param, int k, int m) { List<List<Integer>> result = new ArrayList<>(); if (k == 1) { if (param.contains(m)) { List<Integer> temp = new ArrayList<>(); temp.add(m); result.add(temp); return result; } } for (int i = 0; i < param.size(); i++) { List<Integer> nextParam = new ArrayList<>(); nextParam.addAll(param); nextParam.remove(i); List<List<Integer>> lists = kNumber2SumM(nextParam, k - 1, m - param.get(i)); for (List<Integer> list : lists) { list.add(param.get(i)); // 不加这个判断就是一个全排列的结果 if (!hasList(result, list)) { result.add(list); } } } return result; }
点赞 回复 分享
发布于 07-30 16:36 北京

相关推荐

4 1 评论
分享
牛客网
牛客企业服务