zoukankan      html  css  js  c++  java
  • 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一, 现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。

    思路: 

    对矩阵中任何一个节点O,找到其所有的邻近节点A,B..并相加得到和sum,用sum-节点A的值,得到一个新值O1。再找所有和AB..邻近的(已经出现的不再加)之和,减去O1,又得到一个新值O2,重复该过程,直到O值等于0或小于0。

    若小于0,则不可能。

    若所有的节点经过该运算等于0则可以。

    构造的过程如下:找到矩阵中最小的元素,找到相邻最小的同时减去最小值,重复该过程,就可以减到0。

    例如:       矩阵      1  2

                                     3  4

                 首先对于第一行第一列元素1,,它的相邻元素和为2+3=5,将5-1得到4;元素2和3的相邻元素为4(1已出现),而4-4=0,元素1满足要求。

      同理求解元素2、3、4,同样可得到最后的结果都为0,故此矩阵可由一个全零矩阵实现。

  • 相关阅读:
    TrieTree的学习
    单调队列(monotonic queue)列与单调栈的学习
    507. Perfect Number
    157. Read N Characters Given Read4
    nsexec
    nsenter
    setjmp
    runc 测试
    cgo setns + libcontainer nsexec
    前端 导出为Excel 数据源为table表格 并且table中含有图片
  • 原文地址:https://www.cnblogs.com/Trony/p/2621221.html
Copyright © 2011-2022 走看看