算法每一题,成长每一天~
C0E43 光伏场地建设规划
真题链接:【持续更新】2024华为 OD 机试E卷 机考真题库清单(全真题库)
思路
1、二维数组上的 正方形滑动窗口。
Java
package com.ccr.paper_f;
import java.util.Scanner;
public class C0E43 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m = in.nextInt();
int n = in.nextInt();
int k = in.nextInt();
int M = in.nextInt();
int[][] arr = new int[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = in.nextInt();
}
}
int count = 0;
// 正方形滑动窗口
for (int i = 0; i < m - k + 1; i++) {
for (int j = 0; j < n - k + 1; j++) {
int sum = 0;
for (int x = 0; x < k; x++) {
for (int y = 0; y < k; y++) {
sum += arr[i + x][j + y];
}
}
if (sum >= M) {
count++;
}
}
}
System.out.println(count);
}
}
总结
~
算法要多练多练多练!!