力扣题目:查询网格图中每一列的宽度
题目链接: 2639.查询网格图中每一列的宽度
题目描述
代码思路
双层for循环遍历整个矩阵容易想到,只要能想到使用整数转字符串的技巧(“” + 字符串),即可完成题目
代码纯享版
class Solution {
public int[] findColumnWidth(int[][] grid) {
int[] ans = new int[grid[0].length];
for(int i = 0; i < grid[0].length; i++){
int max = 0;
for(int j = 0; j < grid.length; j++){
String str = "" + grid[j][i];
max = Math.max(max, str.length());
}
ans[i] = max;
}
return ans;
}
}
代码逐行解析版
class Solution {
public int[] findColumnWidth(int[][] grid) {
int[] ans = new int[grid[0].length]; //创建ans整数数据,记录每一列的宽度,即字符串长度最大值
for(int i = 0; i < grid[0].length; i++){
int max = 0; //记录最大值
for(int j = 0; j < grid.length; j++){
String str = "" + grid[j][i]; //将整数变成字符串,方便用字符串的length()方法直接计算字符串长度
max = Math.max(max, str.length()); //记录最大值
}
ans[i] = max; //添加最大值
}
return ans;
}
}