Loading...
ochikov avatar ochikov 35 Точки

Excersises 8. Trip Length

Здравейте,

Може ли помощ за тази задача.. успешно си намирам разстоянието между точките и сумирам най-късото разстояние. Това което немога да направя е следното:

Пише, че входа е във формат: [x1, y1, x2, y2, x3, y3].

После обаче подават например [5, 1, 1, 1, 5, 4], като изхода е: 2->1->3: 7 като очевидно точките са сортирани.

Как да ги сортирам тези точки?

Благодаря.

Тагове:
0
JavaScript Fundamentals 03/10/2016 17:25:34
fbinnzhivko avatar fbinnzhivko 1586 Точки

Погажи докаде си стигнал със кода за да видя как си изградил логиката си за решението на тази задача защото всеки има различна идея за решение на даден проблем.Намерил си разстоянията сега ги намери двете наи кратки разстояния  и разпечатаи 3 случая в зависимост кои са двете най-кратки . 

0
03/10/2016 17:37:08
butanfire avatar butanfire 32 Точки

Привет мен,

Сметнал си разстоянията distance12, distance13, distance23 по формулата нали?

Намираш кое е най-малкото от dist12,dist13,dist23.

И след това имаш 3 случая за output :

Най-кратък път от 1 до 3
1 -> 2 -> 3
Най-кратък път от 2 до 3
2 -> 1 -> 3
Най-кратък път от 1 до 2
1 -> 3 -> 2 

Успях ли да те насоча? :)
Доста псевдокод изписах.

Поздрави,

Владо

3
ochikov avatar ochikov 35 Точки

Да благодаря и на двамата,

Цял ден немога да измисля логиката... а знам че е просто, просто като зацикли човек.

Ето какво бях намерил:

 

var[x1,y1,x2,y2,x3,y3] = arr.map(Number);
				
				var distance1 = Math.sqrt(Math.pow((x2-x1),2) + Math.pow((y2-y1),2)); 
				var distance2 = Math.sqrt(Math.pow((x3-x2),2) + Math.pow((y3-y2),2));
				var distance3 = Math.sqrt(Math.pow((x3-x1),2) + Math.pow((y3-y1),2));

 

0
MichaelZ avatar MichaelZ 7 Точки

Ето го моето решение.

http://pastebin.com/5GUhVMFc

Човек наистина трябва да си поиграе с условията.

3
Petar_Netev avatar Petar_Netev 1 Точки

Малко помощ тук?
https://pastebin.com/pD6vu5NR   60/100 в judge.

Мерси.

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