Java算法--阿里真题
第一道题
来自阿里
x = {a, b, c, d}
y = {e, f, g, h}
x、y两个小数组长度都是4
如果有:a + e = b + f = c + g = d + h
那么说x和y是--个完美对
题目给定N个小数组,每个小数组长度都是K
返回这N个小数组中,有多少完美对
题解:
int[][] matrix = { {1, 4, 3, 2}, {2, 5, 4, 3}, {4, 1, 2, 3} }; 案例中有两个完美对,我们可以预先对每个子数组进行处理保存,比如 {1, 4, 3, 2}--{4-1, 3-4, 2-3}--{3, -1, -1}--{1-4, 4-3, 3-2}--{-3, 1, 1} {2, 5, 4, 3}--{5-2, 4-5, 3-4}--{3, -1, -1}--{2-5, 5-4, 4-3}--{-3, 1, 1} {4, 1, 2, 3}--{1-4, 2-1, 3-2}--{-3,1,1}--{4-1, 1-2, 2-3}--{3, -1, -1}
public static int matrix(int[][] matrix) { Map<String, Integer> context = new HashMap<>(); int result = 0; for(int[] array : matrix) { StringBuilder just = new StringBuilder(); StringBuilder back = new StringBuilder(); for(int i = 1; i < array.length; i ++) { just.append("_" + (array[i] - array[i - 1])); back.append("_" + (array
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
八股文+场景题+算法真题 文章被收录于专栏
Java全新整理八股文 + 场景题 + 算法 精心设计,面试命中率超过80% 专栏优势: 1、问题和答案已经整理到位,答案更专业,可以直接回答,不需要额外总结! 2、场景题讲解清晰,适用于大部分场景的项目,并且持续更新中 3、分享学习心得【知识点的广度和深度,算法有哪些坑,如何准备面试等等】