zoukankan      html  css  js  c++  java
  • 【HackerRank】 有洞的地图

    给你一个n*n的地图。地图中的每个格子有一个值表示该地区的深度。我们称一个地图中的一个格子为空洞,当且仅当该格子不在地图边缘并且每个和它相邻的格子都具有比它更小的深度。两个格子称为相邻如果它们共有一条边。

    你要找到地图中所有的空洞,并且用X描述。

    输入格式

    第一行包含一个整数n,表示地图的规模。 接下来n行中每行包含n个无空白的正数字。每个数字(1-9)表示对应区域的深度。

    输出格式

    输出n行,表示最终的地图结果。每个空洞要用字符X替换。

    约束条件

    1<=n<=100

    1n100


    题解:简单的模拟。

    题解:

     1 import java.io.*;
     2 import java.util.*;
     3 import java.text.*;
     4 import java.math.*;
     5 import java.util.regex.*;
     6 
     7 public class Solution {
     8     public static void main(String[] args) {
     9         Scanner in = new Scanner(System.in);
    10         int n = in.nextInt();
    11         int[][] ar = new int[n][n];
    12         for(int i = 0;i < n;i++){
    13             String temp = in.next();
    14             for(int j = 0;j < n;j++)
    15                 ar[i][j] = temp.charAt(j) - '0'; 
    16         }
    17         
    18         for(int i = 0;i < n;i++){
    19             StringBuffer sb = new StringBuffer();
    20             for(int j = 0;j < n;j++){
    21                 boolean isHole = true;
    22                 //up
    23                 if(i-1<0||i+1>=n||j-1<0||j+1>=n)
    24                     isHole = false;
    25                 else{
    26                     if(ar[i-1][j] >= ar[i][j])
    27                         isHole = false;
    28                     if(ar[i+1][j] >= ar[i][j])
    29                         isHole = false;
    30                     if(ar[i][j-1] >= ar[i][j])
    31                         isHole = false;
    32                     if(ar[i][j+1] >= ar[i][j])
    33                         isHole = false;
    34                 }
    35                 
    36                 if(isHole)
    37                     sb.append('X');
    38                 else {
    39                     sb.append(ar[i][j]); 
    40                 }
    41             }
    42             System.out.println(sb.toString());
    43         }
    44       }
    45 }
  • 相关阅读:
    ✍08 docker安装问题
    axios跨域post请求中,后台把整个body对象当成了请求参数的键
    nginx运行vue项目,并对后端做负载均衡
    Linux安装nginx
    vue项目运行后无IP,本地网址显示为 http://[C:WindowsSystem32driversetc]:8080/
    Notion ---- 侧边栏目录插件
    工作笔记1-时间字段序列化
    web测试方法总结
    Hive构成及工作原理简介
    oracle 之表分区详解
  • 原文地址:https://www.cnblogs.com/sunshineatnoon/p/3886853.html
Copyright © 2011-2022 走看看