Skip to content

Instantly share code, notes, and snippets.

View droneru's full-sized avatar

Andrey Pavlenko droneru

View GitHub Profile
@droneru
droneru / MaxRectangleN2.java
Created January 20, 2019 07:43
Максимальная площадь прямоугольника в квадратной матрице за O(N^2)
package ru.drone.ya;
public class MaxRectangleN2 {
/**
* Максимальная площадь прямоугольника в квадратной матрице
*/
public long getMaxRectangleSquare(int[][] m) {
int n = m.length;
if (n == 0) return 0;
int[] cursor = new int[n];//высота. Как много можно подняться вверх чтобы получилась линия
@droneru
droneru / MaxRectangleN3.java
Created January 20, 2019 07:42
Максимальная площадь прямоугольника в квадратной матрице за O(N^3)
package ru.drone.ya;
public class MaxRectangleN3 {
/**
* Максимальная площадь прямоугольника в квадратной матрице
*/
public long getMaxRectangleSquare(int[][] m) {
int[] cursor = new int[m.length];
long max = 0;
for (int row = 0; row < m.length; row++) {
/**
* Вариант решения 1.
* за линейное время. Использует память O(n)
*/
boolean hasVerticalSymLine(int n, Point[] p) {
//За линейное время могу пройти массив и найти максимум и минимум по x.
int minX = p[0].x;
int maxX = p[0].x;
HashSet<Point> set = new HashSet<>(p.length);//Тут используем много памяти. Оценка O(n).
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCi9v3swG/6+liypqOhQt1RtxDOgS8QxqUcPvUlKvTbyl9Vcp1YAjbGtK8S19JybIFVqATndqIzYkpOrPWjdLWNfmx9wGKRpkZV9OTzXhpNBqP0oVWOP4tCFhGirtw6CxqOlgt7UNM6yGydmCb+Rno32/rjvYt4EFZO3+flPztUZFUr2EhxaFnQbF6MAIKPgVhicUkSou4E8548+XMe6oRVp1iT70UrAWKV8g7+0hBzgkjqm6E24Rq/XkwjCqbFezrMRPFl/V5NvJZFJphMoOeJ+gB2gN1mfkZ9OnNrpivN0nNciIF3HKfDE8f4OKUJQxtcQe9EuPM/O6J4LVUG+jZj Andrey Pavlenko

Keybase proof

I hereby claim:

  • I am droneru on github.
  • I am droneru (https://keybase.io/droneru) on keybase.
  • I have a public key ASB6FcupooAdWJphi2-6JaEsxUN7n2H_yZX8xV1R8o4aZgo

To claim this, I am signing this object: