给一个长度为n,宽度为3的3*n矩阵,在其每一列取一个数组成一个数组,找到这种数组从i=1到n-1的右一元素减左一元素的绝对值的最小和.

import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
public class Test {static HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int[][] a = new int[3][n];for (int i = 0; i < 3; i++) {for (int j = 0; j < n; j++) {a[i][j] = in.nextInt();}}int sum = 0;// 动规int[][] res = minPathSum(a, n);sum = res[0][n-1];for(int i=1;i < 3; i++){if(sum>res[i][n-1]){sum = res[i][n-1];}}// 以下为不用动规的方法,其实是模拟动规,每两列之间选择最小,贪心.//优点是找到了每一个索引,可以生成那个数组// int tmp = minIndex(a,0);// sum += tmp;// for (int j = 1; j < n - 2; j++) {//     tmp = minDiff(a,j,map.get(tmp));//     sum += tmp;// }System.out.println(sum);}public static int minDiff(int[][] nums1, int j ,int i) {int[] a = new int[3];int index =0;map.clear();for (int k = 0; k < 3; k++){a[index++] = Math.abs(nums1[i][j] - nums1[k][j + 1]);map.put(a[index-1],k);}Arrays.sort(a);return a[0];}public static int minIndex(int[][] nums1, int j) {int[] a = new int[9];int index = 0;for (int i = 0; i < 3; i++) {for (int k = 0; k < 3; k++) {a[index++] = Math.abs(nums1[i][j] - nums1[k][j + 1]);map.put(a[index-1],k);}}Arrays.sort(a);return a[0];}public static int[][] minPathSum(int[][] a, int n){int tmp[]={0,0,0};int[][] dp = new int[3][n];// 生成邻差绝对值求和的状态转移结果数组dp[][]for(int j=1;j<n;j++){// i遍历的是当前所在列for(int i=0;i<3;i++){// k遍历的是上一个列for(int k=0;k<3;k++){// 生成每一列每个元素a[i][j]的邻差绝对值的和tmp[k] = dp[k][j-1] + Math.abs(a[i][j] - a[k][j-1]);}// 取每一列每个元素的邻差绝对值求和的最小值放入dp[][]dp[i][j] = min(tmp);}}return dp;}public static int min(int[] tmp){int min = tmp[0];for(int num : tmp)if(min>num)min =num;return min;}
}

阿里 3月25日 二维矩阵列选元素最小和相关推荐

  1. Java 搜索二维矩阵 II

    搜索二维矩阵 II 中等 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target .该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示 ...

  2. 2020年3月25日阿里笔试题

    2020年3月25日阿里笔试题 题目描述一 python代码 题目描述二 求公差的python代码 处理上述情况的代码   仿佛人生总有一种魔咒,自己做的这场笔试题永远是最难的.不过今天的笔试题,真的 ...

  3. 二年级课程表(3月21日-3月25日)

    二年级课程表(3月21日-3月25日) 时间 周一 周二 周三 周四 周五 9:00-9:25 语文(百家姓) 数学(速算巧算) 语文(课文) 数学(生活数学) 语文(古诗诵读) 9:30-9:40 ...

  4. 古剑奇谭2服务器1月20维护,《古剑奇谭二》10月25日例行维护更新公告

    为不断丰富游戏内容,给各位偃师大人提供良好的游戏环境,我们将于2018年10月25日08:00进行版本更新,此次更新为停服更新,预计维护时间为2个小时.请各位大人注意调整游戏时间,并相互转告.如果预定 ...

  5. 直播预告|5月25日14:00 AAAI 专场二

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 5月25日14:00,本期我们邀请到AAAI的八位学者给大家带来精彩的分享! 5月25日 14:00-14:30 刘方鑫: 上海交通大学 ...

  6. 可租赁、可定制的虚拟人居然还能这么玩?9月25日来百度大脑人像特效专场一探究竟!...

    百度大脑自2016年启动开放以来,已打造成为业内最全面.最领先的AI开放平台,服务规模.调用量都居于业界第一. 百度大脑开放日于2019年开办,覆盖北/上/深等地区,成为众多AI开发者.合作伙伴近距离 ...

  7. 2021新款 iPad,包邮送一个!10月25日截止

    为了回馈长期以来各位老铁对本号的关注支持,更好的去看paper,提高技术水平,直接给你送一个 2021新款苹果iPad !无论是自己用,还是当礼物送人,都比较不错的. 赠送规则 赠送规则 本号的读者众 ...

  8. Silverlight/Windows8/WPF/WP7/HTML5周学习导读(6月25日-7月1日)

    Silverlight/Windows8/WPF/WP7/HTML5周学习导读(6月25日-7月1日) 本周Silverlight学习资源更新 用Silverlight做淘宝应用 往事如锋 基于 Si ...

  9. 第四范式陈雨强:万字深析工业界机器学习最新黑科技 By 机器之心2017年7月25日 16:38 近日,全球最顶级大数据会议 Strata Data Conference 在京召开。Strata 大

    第四范式陈雨强:万字深析工业界机器学习最新黑科技 By 机器之心2017年7月25日 16:38 近日,全球最顶级大数据会议 Strata Data Conference 在京召开.Strata 大会 ...

  10. 二维矩阵中的最大矩形面积--java实现

    一.原题: 给你一个二维矩阵,权值为False和True,找到一个最大的矩形,使得里面的值全部为True,输出它的面积. 样例: 给你一个矩阵如下: [[1, 1, 0, 0, 1],[0, 1, 0 ...

最新文章

  1. snabbdom源码解析(七) 事件处理
  2. 大数据学习——spark安装
  3. numpy 笔记:setdiff1d
  4. python 定时执行 爬虫 模块_浅析python实现scrapy定时执行爬虫
  5. $动态规划系列(2)——找零钱问题
  6. Android轮播图 banner,图片视频混播banner
  7. 完全相同的4个小矩形如图所示放置_吸睛!矩形在PPT中的创意表现
  8. python生成泊松分布随机数_Python Numpy random.poisson() 泊松分布
  9. 【官方速报】Pika3.0正式发布
  10. visio 模具_Visio2013 自定义模具 简单公式
  11. 华为海外版操作系统曝光?HUAWEI ARK OS现身
  12. Android 反编译 -smali文件对比java文件
  13. 程序员之路:python3+PyQt5+pycharm桌面GUI开发
  14. git flow命令
  15. NEU 1683: H-Index
  16. IntelliJ IDEA Maven安装配置
  17. CocosCreator Shader Editor 2D/3D 特效编辑器
  18. codesign 想要访问您的钥匙串中的密钥
  19. 原来阿里级别是这么定的。。。
  20. MATLAB矩阵复制及扩充

热门文章

  1. flash小黄油安卓_从Android 1到10 一起回顾伴随我们成长的安卓系统
  2. Python 下载百度文库
  3. 商业方向的大数据专业_大数据行业5个职位方向
  4. ajax批量上传数据,Ajax上传数据和上传文件(三种方式)
  5. 效率倍升:逐浪HMS主题大师1.2-全渠道自动打包、快速传送、锁屏提取、资源审计,移动主题设计辅助利器(全面支持华V米O)
  6. ffmpeg gif拆分成多张jpg
  7. 访谈 | 币圈量化群英会——寻找适合你的量化基金!
  8. 用于目标检测的细粒度动态头
  9. 问遍大佬,看遍百文,呕心沥血整理出的一线最值得加入的互联网大厂,必收藏
  10. 清除input输入框的历史记录