Loading...
JackHammer avatar JackHammer 1 Точки

07. 2D Rectangle Area [ Programming Basics with JavaScript - юни 2018 ]

Поредното ми затруднение :/

Потърсих малко и намерих този ключов елемент на задачата. Можете ли да ми обясните логиката на използваният по-долу код?
 

let position1 = Math.max(x1, x2) - Math.min(x1, x2);
let position2 = Math.max(y1, y2) - Math.min(y1, y2);

 

Благодаря предварително.

Тагове:
0
Programming Basics
Quake3 avatar Quake3 546 Точки
Best Answer

Здравей,

Дано съм разбрал правилно въпроса ти...

Math.max(x1, x2) - намира по-голямото от 2-те числа: x1, х2.

Аналогично: Math.min - намира по-малкото.
Най-накрая от по-голямото от измежду х1 и х2 вадим по-малкото. Така си осигуряваме положителна разлика.
 

0
JackHammer avatar JackHammer 1 Точки

Мисля че те разбрах.
Конкретно при този тип задача ли се ползва това намиране на по-голямото и по-малкото из между 2 числа или има и други приложения?

0
Quake3 avatar Quake3 546 Точки

Ами виж това. Би могло да се прилага на много места, но една задача може да се реши по много начини.:)

0
JackHammer avatar JackHammer 1 Точки

Благодаря ще го погледна :)

1
petarbelev avatar petarbelev 10 Точки

Логиката в случая е че ни трябва от по-голямото число да извадим по-малкото, защото така ще определим дължината на линията която търсим. Какво имаме тук? Правоъгълник начертан върху един лист, но ние не знаем нищо за самия правоъгълник, а само  къде се намира спрямо листа. Знаем къде са му разположени ъглите. И съответно няма как да го измерим, затова трябва да го пресметнем. Например едната страна е 60-10, но в Judge системата числото 60, което ти си определил за най-голямо на око, може да не е подадено като първо, затова използваме Math.max и Math.min . Така ще сме сигурни че каквото и да напише Judge като вход, задачата ще проработи. Дано съм те разбрал правилно и да съм обяснил адекватно. Успех :)

0
NELSYNBORISOV avatar NELSYNBORISOV 39 Точки

Супер, благодария за обяснението... :) 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.