Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Интересное задание codewars.com (https://javascript.ru/forum/misc/73461-interesnoe-zadanie-codewars-com.html)

рони 21.08.2018 09:29

j0hnik,
:thanks:

Белый шум 21.08.2018 12:32

Цитата:

Сообщение от j0hnik (Сообщение 493115)
если кому интересно #112 пост
решение

[2,5,9,9,2,2].reduce((a, b) => a ^ b)
//7

?? :-?

рони 21.08.2018 12:48

Белый шум,
наверно в задании только пары чисел и одно одиночное число

Alexandroppolus 21.08.2018 13:17

как уже говорил, с двумя уникальными числами (надо найти оба) тоже есть решение, и там чуть интереснее

j0hnik 21.08.2018 13:20

Цитата:

Сообщение от рони
наверно в задании только пары чисел и одно одиночное число

Все верно, одно уникальное, остальные пары.
Alexandroppolus,
ссылку

Alexandroppolus 21.08.2018 13:26

Цитата:

Сообщение от j0hnik
Alexandroppolus,
ссылку

я не нашел на кодоварсе такой задачи, просто давно когда-то решал

j0hnik 21.08.2018 13:45

Alexandroppolus,
var arr = [1,1,2,5,9,9,7,7];
function unq(arr){
	var newArr = [];
	for(var i = 0; i<arr.length; i++){
		var x = arr[i];
		arr[i] = null;
		if(!arr.includes(x)) {
			newArr.push(x);
			if(newArr.length == 2) return newArr;
			continue;
		}
		arr[i] = x;
	}
}

console.log(unq(arr));

Alexandroppolus 21.08.2018 14:16

j0hnik,
не то :)
решается аналогично предыдущей, с теми же ограничениями - O(n) по времени выполнения, O(1) по вспомогательной памяти

j0hnik 21.08.2018 14:22

Alexandroppolus,
в массиве пары могут быть любыми? могут быть пропуски? например с пару сотен пропущенных.
два уникальных остальные пары?

Alexandroppolus 21.08.2018 14:28

Цитата:

Сообщение от j0hnik
Alexandroppolus,
в массиве пары могут быть любыми? могут быть пропуски? например с пару сотен пропущенных.
два уникальных остальные пары?

всё как в задаче с одним уникальным, только теперь уникальных два, остальные парами.
да, некоторых чисел может не быть.


Часовой пояс GMT +3, время: 08:53.