<label>
<input type="radio" />
<div class="trello-board-color" style="bg-color: ..." />
input:not(:checked) + .trello-board-color {.opacity: 0; }
onSelect: (color) => void
isSelected: boolean
остается проблема именно с уникальными методами каждого класса. Непонятно, что делать с ними
смущает, что по факту тип моего инстанса всегда будет Animal | Human.
Вопросы?
задача не на каждый деньк сожалению, да.
var largestRectangleArea = function(heights, currents) {
let maxArea = 0;
let lastH = 0;
let currentsCount = 0;
for (let i = 0; i <= heights.length; ++i) {
let h = i < heights.length ? heights[i] : 0;
let left = i;
while (currentsCount && currents[currentsCount - 1].h > h) {
const r = currents[--currentsCount];
maxArea = Math.max(maxArea, r.h * (i - r.left));
left = r.left;
}
if (h > 0 && (!currentsCount || currents[currentsCount - 1].h < h)) {
if (currentsCount < currents.length) {
const item = currents[currentsCount];
item.left = left;
item.h = h;
} else {
currents.push({left, h})
}
currentsCount++;
}
}
return maxArea;
};
/**
* @param {character[][]} matrix
* @return {number}
*/
var maximalRectangle = function(matrix) {
const heights = Array(matrix[0].length).fill(0);
const currents = [];
let max = 0;
for (let i = 0; i < matrix.length; ++i) {
const line = matrix[i];
for (let j = 0; j < line.length; ++j) {
heights[j] = line[j] === '1' ? heights[j] + 1 : 0;
}
max = Math.max(max, largestRectangleArea(heights, currents));
}
return max;
};