Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.task.task20.task2026;
- /*
- Алгоритмы-прямоугольники
- Алгоритмы-прямоугольники
- 1. Дан двумерный массив N*N, который содержит несколько прямоугольников.
- 2. Различные прямоугольники не соприкасаются и не накладываются.
- 3. Внутри прямоугольник весь заполнен 1.
- 4. В массиве:
- 4.1) a[i, j] = 1, если элемент (i, j) принадлежит какому-либо прямоугольнику
- 4.2) a[i, j] = 0, в противном случае
- 5. getRectangleCount должен возвращать количество прямоугольников.
- 6. Метод main не участвует в тестировании
- Требования:
- 1. В классе Solution должен существовать метод getRectangleCount с одним параметром типа byte[][].
- 2. Метод getRectangleCount должен быть публичным.
- 3. Метод getRectangleCount должен быть статическим.
- 4. Метод getRectangleCount должен возвращать количество прямоугольников (в соответствии с заданием) найденное в полученном массиве.
- // Всем привет 17.10.2017
- */
- public class Solution {
- public static void main(String[] args) {
- byte[][] a = new byte[][]{
- {1, 0, 1, 0},
- {0, 1, 0, 1},
- {1, 0, 1, 0},
- {0, 1, 0, 1}
- };
- int count = getRectangleCount(a);
- System.out.println("count = " + count + ". Должно быть 2");
- }
- public static int getRectangleCount(byte[][] a) {
- int count = 0; // кол-во прямоугольников
- for (int i=0;i<a.length;i++){
- for (int j=0; j<a.length;j++)
- {
- if (a[i][j]==1) {
- //смотрим ячейку сверху и слева
- if ((((i-1)<0)|| (a[i-1][j]==0)) && (((j-1)<0)||(a[i][j-1]==0)))count++;
- }
- }
- }
- return count;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement