首页 > 其他分享 >数组

数组

时间:2022-10-25 09:34:18浏览次数:48  
标签:leftMax nums int max height 数组

915. 分割数组

int index = 0, leftMax = nums[0], max = nums[0];
for(int i = 1; i < nums.length; i++) {
if(leftMax > nums[i]) {//加上等号,可能会出现没有右数组
index = i;
leftMax = max;
}else {
max = Math.max(max, nums[i]);
}
}
return index + 1;
遍历数组,当有数字小于leftMax时,更新index & leftMax;
否则更新数组遍历最大值 max;


42. 接雨水

建立左右,两个扫描数组(动态规划);
然后求其重合的地方;
for(int i = 1; i < height.length; i++) {
left[i] = Math.max(height[i], left[i - 1]);
}
for(int i = height.length - 2; i >= 0; i--) {
right[i] = Math.max(height[i], right[i + 1]);
}
求其重合的地方:
ans += Math.min(left[i], right[i]) - height[i];


48. 旋转图像

n * n的矩阵;
找规律;
nums[x][y],在旋转后变成位置等于nums[y][n - x - 1];
在新的数组的[y][n - x - 1]位置,填上nums[x][y]即可;


934. 最短的桥

标签:leftMax,nums,int,max,height,数组
From: https://www.cnblogs.com/xtag/p/16823815.html

相关文章