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

西安建站平台哪个好优化大师免安装版

西安建站平台哪个好,优化大师免安装版,wordpress显示文章时分秒代码,东莞网站建设-信科网络题目 给你一个由0(空地)、1(银矿)、2(金矿)组成的的地图,矿堆只能由上下左右相邻的金矿或银矿连接形成。超出地图范围可以认为是空地。 假设银矿价值1,金矿价值2,请你找出地图中最大价值的矿堆并输出该矿堆的价值 输入描述 地图元素信息如: 2…

题目

给你一个由0(空地)、1(银矿)、2(金矿)组成的的地图,矿堆只能由上下左右相邻的金矿或银矿连接形成。超出地图范围可以认为是空地。
假设银矿价值1,金矿价值2,请你找出地图中最大价值的矿堆并输出该矿堆的价值
输入描述
地图元素信息如:
22220
00000
00000
11111
地图范围最大300*300
0<=地图元素<=2
输出描述:
矿堆的最大价值
示例1
输入:
22220
00000
00000
01111
输出:
8
示例2
输入:
22220
00020
00010
01111
输出:
15
示例3
输入:
20000
00120
00000
00111
输出:
3

思路

遍历矿堆,如果当前值不等于0(等于1或等于2),那么从当前值计算,所有相邻的总价值是多少?
将本轮遍历产生的总价值和上次的总价值比较,得到较大值
遍历完成后,就能得到矿堆的最大价值
问题的关键在于怎么求所有相邻的总价值?根据题目描述,总价值等于=当前值+上总价值+下总价值+左总价值+右总价值。
设计 dfs(grid,i,j)函数,grid是一个二维数组,表示矿堆,(i,j)代表开始计算位置。
定义递归终止条件:如果i,j超出数组范围或者grid[i][j]==0,那么 直接返回0
定义结果res的初始值:res=grid[i][j]
递归计算与当前位置的相邻(上下左右四个位置)位置的累加价值,用res加上相邻的值
最后返回res即可

题解

package hwod;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class FindKMaxVal {public static void main(String[] args) {Scanner sc = new Scanner(System.in);List<String> list = new ArrayList<>();while (sc.hasNextLine()) {String line = sc.nextLine();if ("".equals(line)) break;list.add(line);}int n = list.size();int[][] pile = new int[n][list.get(0).length()];//字符数组转整形数组for (int i = 0; i < n; i++) {String line = list.get(i);for (int j = 0; j < line.length(); j++) {pile[i][j] = line.charAt(j) - '0';}}System.out.println(findMaxVal(pile));}private static int findMaxVal(int[][] pile) {int m = pile.length;int res = 0;for (int i = 0; i < m; i++) {for (int j = 0; j < pile[i].length; j++) {if (pile[i][j] == 1 || pile[i][j] == 2) {int cur = dfs(i, j, pile);res = Math.max(res, cur);}}}return res;}private static int dfs(int i, int j, int[][] pile) {int m = pile.length, n = pile[0].length;if (i >= m || j >= n || i < 0 || j < 0 || (pile[i][j] != 1 && pile[i][j] != 2)) return 0;int res = pile[i][j];pile[i][j] = 0;res += dfs(i + 1, j, pile) + dfs(i, j + 1, pile) + dfs(i - 1, j, pile) + dfs(i, j - 1, pile);return res;}
}

推荐

如果你对本系列的其他题目感兴趣,可以参考华为OD机试真题及题解(JAVA),查看当前专栏更新的所有题目。

http://www.dinnco.com/news/78110.html

相关文章:

  • 网站建设流程共有几个阶段天津优化公司哪家好
  • 网站站长是什么网络seo外包
  • 谁可以做网站厦门谷歌seo公司有哪些
  • 做外贸网站怎么设计seo推广专员工作内容
  • 简约大气的网站简述网络营销的特点
  • 自己做影视网站蚌埠网络推广
  • wordpress 评论回复邮件通知最好的网站优化公司
  • 访问网站速度很慢百度网盘下载慢
  • 松江新城投资建设发展有限公司网站今日新闻7月1日
  • 广州荔湾网站建设外贸网站优化公司
  • 丰宁县网站建设一键生成app制作器
  • 南昌网站建设有哪几家最近三天发生的重要新闻
  • 怎么做监控网站中国 日本 韩国
  • 杭州做网站哪个公司好全国疫情高中低风险区一览表
  • 做爰网站1000部百度的搜索引擎优化
  • 好用的网站平台app如何推广
  • h5手机网站发展趋势企业seo推广
  • 网站建设经验与教训电话百度
  • 蔡甸网站建设域名是什么意思呢
  • 受欢迎的大连网站建设搜索引擎优化的流程是什么
  • 安阳市城乡建设规划局网站seo优化与品牌官网定制
  • 做网站技术服务合同选择一个产品做营销方案
  • wordpress企业站主题免费长春网站关键词推广
  • 西安官网seo收费湖南seo网站策划
  • net网站开发框架免费网站 推广网站
  • 笔记本电脑做网站比较畅快刷关键词排名seo软件
  • 怎么做微信小说网站站内搜索工具
  • 网站重新设计电子网址怎么创建
  • 加盟品牌网站建设个人博客网站设计毕业论文
  • 物流企业网站源码重庆营销型网站建设公司