当前位置: 首页 > news >正文

深圳做网站建设开发wordpress iphone app

深圳做网站建设开发,wordpress iphone app,企业文化包括哪些内容,自己做网站投放广告给定一个 N 行 M 列的二维矩阵,矩阵中每个位置的数字取值为 0 或 1,矩阵示例如: 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 现需要将矩阵中所有的 1 进行反转为 0,规则如下: 当点击一个 1 时,该 1 被反转为 0&am…

给定一个 N 行 M 列的二维矩阵,矩阵中每个位置的数字取值为 0 或 1,矩阵示例如:

1 1 0 0
0 0 0 1
0 0 1 1
1 1 1 1

现需要将矩阵中所有的 1 进行反转为 0,规则如下:

  1. 当点击一个 1 时,该 1 被反转为 0,同时相邻的上、下、左、右,以及左上、左下、右上、右下 8 个方向的 1 (如果存在 1)均会自动反转为 0;
  2. 进一步地,一个位置上的 1 被反转为 0 时,与其相邻的 8 个方向的 1 (如果存在 1)均会自动反转为 0;
    按照上述规则示例中的矩阵只最少需要点击 2 次后,所有均值 0 。请问,给定一个矩阵,最少需要点击几次后,所有数字均为 0?

输入

第一行输入两个整数,分别表示矩阵的行数 N 和列数 M,取值范围均为 [1,100]
接下来 N 行表示矩阵的初始值,每行均为 M 个数,取值范围 [0,1]

输出

输出一个整数,表示最少需要点击的次数

示例一

输入

3 3
1 0 1
0 1 0
1 0 1

输出

示例二

输入

4 4
1 1 0 0
0 0 0 1
0 0 1 1
1 1 1 1

输出

2

说明:第一个元素是1,点击后,右侧也是1,所以第一次点击紫色的1会置为0,当遍历到第二行最后一个元素时,发现该位置是1,则搜索它的周围位置,如果是1,置为0,然后继续搜索刚刚置为0的位置的周边位置,依次循环,则红色的1一次被置为0

1 1 0 0
0 0 0 1
0 0 1 1
1 1 1 1

解题思路:遍历二维数组,遇到某个位置的值为1,则开始查找它周围8个方向的位置的值,如果是1,置为0。然后继续遍历下一个元素。使用DFS算法。

读取输入数据代码略,直接使用定义好的数组。

Java代码,以用例二为例

    public static void main(String[] args) {int[][] arr = {{1,1,0,0},{0,0,0,1},{0,0,1,1},{1,1,1,1}};int count = 0;for(int i=0;i<arr.length;i++){for(int j=0;j<arr[0].length;j++){if (arr[i][j] == 0){continue;}//遇到 1 开始搜索,计数加 1dfs(arr,i,j);count++;}}System.out.println(count);}private static void dfs(int[][] arr,int row,int col){//如果索引越界,退出if (row<0||col<0||row>arr.length-1||col>arr[0].length-1){return;}//如果某个位置值为 1if (arr[row][col] == 1){//置为0arr[row][col] = 0;//左dfs(arr,row-1,col);//右dfs(arr,row+1,col);//上dfs(arr,row,col-1);//下dfs(arr,row,col+1);//右下dfs(arr,row+1,col+1);//左上dfs(arr,row-1,col-1);//右上dfs(arr,row+1,col-1);//左下dfs(arr,row-1,col+1);}}

http://www.yayakq.cn/news/649964/

相关文章:

  • 专业建网站价格wordpress apple主题
  • 正能量视频素材免费下载网站阿里云 iis 默认网站
  • 韩雪冬模板网站网站开发软件开发怎么样
  • 免费小说网站怎么做毕业设计网站建设流程
  • 广东省建设安全中心网站怎么在百度上推广自己的公司信息
  • 上海哪家网站建设好qq浏览器官方下载
  • 30分钟快速建设网站蓝田县建设局网站
  • 网站漂浮特效手机购物网站怎么推广
  • 网站建设论坛fantodo旅游o2o小程序源码
  • 医院网站开发多少钱wordpress将两个主题结合
  • 网站建设收费价格哪个网站美丽乡村做的比较好
  • 江西营销型网站建设微商怎么加好友增加大量客源
  • 电子商务网站建设 教材公司网站建设调研
  • 青岛 建网站校园网站做等级保护
  • 南昌网站建设公司行情关闭wordpress报错
  • 做哪些网站比较好山儿网站建设公司
  • 便宜点的网站建设软件开发文档总结
  • 淘宝做网站给了钱网站列表怎么做
  • 网上提交报名表系统的网站建设网站建设 域名 服务器
  • 岳阳网站建设团队网站常用参数
  • 苏州做网站公司前端如何兼职做网站
  • 可信网站是否有规定必须做工作手机
  • 建设摩托车官方网站js 插件html转换wordpress
  • 主流门户网站有哪些电脑培训网上课程
  • 网站建设的频道是什么意思纯flash网站
  • 深圳 做公司网站温州网吧什么时候恢复营业
  • 价值30万的网站建设家电维修 做网站还是搞公众号
  • 有人做几个蝎子养殖门户网站如何在微信公众号添加wordpress
  • 国外公司网站模板宜宾移动网站建设
  • 外包做网站不满意小辣椒昆明网站开发