关注
我觉得可以按位置去思考,对于每一个位置grid[i][j](假设其值为v)如果v大于0,则这个i,j位置必然会为整个立体的表面积贡献一个上面和下面;然后遍历它的合法四周grid[i'][j'](假设其值为neighbor)则这个i,j位置会为整个立体的表面积贡献max(v - neighbor, 0)个侧面。时间复杂度m*n。代码如下: public static void main(String[] args) {
int n = sc.nextInt();
int m = sc.nextInt();
int[][] grid = new int[n][m];
for(int i=0;i < n; i++){
for(int j=0; j < m; j++){
grid[i][j] = sc.nextInt();
}
}
int[] dx = new int[]{-1,0,1,0};
int[] dy = new int[]{0,1,0,-1};
int ans = 0;
for (int r = 0; r < n; ++r)
for (int c = 0; c < m; ++c)
if (grid[r][c] > 0) {
ans += 2;
for (int k = 0; k < 4; ++k) {
int nr = r + dx[k];
int nc = c + dy[k];
int nv = 0;
if (0 <= nr && nr < n && 0 <= nc && nc < m)
nv = grid[nr][nc];
ans += Math.max(grid[r][c] - nv, 0);
}
}
System.out.println( ans );
}
查看原帖
点赞 评论
相关推荐
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
436279次浏览 4436人参与
# 实习,投递多份简历没人回复怎么办 #
2451916次浏览 34831人参与
# 阿里云管培生offer #
118569次浏览 2132人参与
# 地方国企笔面经互助 #
7826次浏览 18人参与
# 春招别灰心,我们一人来一句鼓励 #
39921次浏览 507人参与
# ai智能作图 #
40636次浏览 489人参与
# 北方华创开奖 #
106877次浏览 591人参与
# 虾皮求职进展汇总 #
108243次浏览 851人参与
# 你投递的公司有几家约面了? #
33107次浏览 188人参与
# 机械人春招想让哪家公司来捞你? #
157525次浏览 2267人参与
# 发工资后,你做的第一件事是什么 #
12104次浏览 59人参与
# 工作中,努力重要还是选择重要? #
35117次浏览 382人参与
# 实习想申请秋招offer,能不能argue薪资 #
39038次浏览 314人参与
# 参加完秋招的机械人,还参加春招吗? #
19986次浏览 240人参与
# 非技术岗是怎么找实习的 #
155777次浏览 2120人参与
# 机械求职避坑tips #
24606次浏览 255人参与
# 双非本科求职如何逆袭 #
661103次浏览 7385人参与
# 找实习多的是你不知道的事 #
1310193次浏览 18367人参与
# 工作两年想退休了 #
56795次浏览 730人参与
# 实习必须要去大厂吗? #
55334次浏览 957人参与
# 华为工作体验 #
113571次浏览 878人参与
# 我的实习求职记录 #
6152424次浏览 84184人参与