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、分享学习心得【知识点的广度和深度,算法有哪些坑,如何准备面试等等】

全部评论

相关推荐

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