| 
	| 
	
	| 
		
	| 
			
			 
			
				11.08.2020, 18:12
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 14.08.2018 
						Сообщений: 65
					 
		
 |  |  
	| 
				Помогите разобрать задание
			 Есть набор чисел в массиве, который представляет количествопоследовательных дней возможного бронирования квартиры, Вы в качестве
 арендодателя хотите выбрать последовательность, которая максимизирует
 количество дней пребывания, однако Вам нужно как минимум 1-дневный
 перерыв между бронированиями для уборки. Написать ф-цию нахождения. Пример:
 [7, 1, 2, 5] => 12
 7 => Авг 1 - Авг 7
 1 => Авг 7 - Авг 8
 2 => Авг 8 - Авг 10
 5 => Авг 10 - Авг 15
 
 [3, 6, 4] => 7
 [4, 10, 3, 1, 5] => 15
 подаем на вход [2, 4, 4, 3, 3] => получаем 9
 
 Не могу понять какой алгоритм должен быть, чтобы вывести 12, 7, 15, 9
 |  |  
	| 
		
	| 
			
			 
			
				11.08.2020, 18:53
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| 
	
 
	| Сообщение от Marson |  
	| какой алгоритм должен быть, чтобы вывести 12, 7, 15, 9 |  
	
 создать все возможные варианты и выбрать с максимальной суммой элементов. 
[7, 1, 2, 5] => 12
 
[0, 1, 0, 5]   1 + 5 = 6 
[7, 0, 0, 5]   7 + 5 = 12! 
[7, 0, 2, 0]   7 + 2 = 9
 
[3, 6, 4] => 7
 
[3, 0, 4] 3 + 4 = 7! 
[0, 6, 0] 6
 
тоже самое  
[4,6,3] =>7 
[0,6,0] = 6 
[4,0,3] 4 + 3 =7!			 Последний раз редактировалось рони, 11.08.2020 в 19:10.
 |  |  
	| 
		
	| 
			
			 
			
				11.08.2020, 19:00
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 14.08.2018 
						Сообщений: 65
					 
		
 |  |  
	| задача сводится к нахождению самых профитных цепочек по кол-ву дней, на вход программы подается массив из чисел - кол-ва дней возможного бронирования, а Вам необходимо составить алгоритм для нахождения профитных цепочек, к примеру
 
 мне кажется не так вы пишете должно быть. Как объяснить этот пример [4,6,3]=>7?
 |  |  
	| 
		
	| 
			
			 
			
				11.08.2020, 19:08
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| 
	
 
	| Сообщение от Marson |  
	| Как объяснить этот пример [4,6,3]=>7? |  
	
 смотрите пост #2 добавлено |  |  
	| 
		
	| 
			
			 
			
				11.08.2020, 19:44
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 14.08.2018 
						Сообщений: 65
					 
		
 |  |  
	| а этот [2, 4, 4, 3, 3] => получаем 9, вот так [2, 0, 4, 0, 3] =>  9? |  |  
	| 
		
	| 
			
			 
			
				11.08.2020, 19:48
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| 
	
 
	| Сообщение от Marson |  
	| вот так [2, 0, 4, 0, 3] => 9? |  
	
 да |  |  
	| 
		
	| 
			
			 
			
				11.08.2020, 19:55
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| Marson, 
 не самый оптимальный вариант ...
 
const maxSumm = arr => {
    if(arr.length < 2) return Math.max(...arr, 0);
    let temp = [[0, arr[1]], [arr[0], 0]],
        up = [];
    for (let i = 2; i < arr.length; i++) {
        up = [];
        temp = temp.map(ar => {
            let last = ar[ar.length - 1],
                prev = ar[ar.length - 2];
            if (last) ar.push(0);
            else if (prev) {
                up.push([...ar, 0]);
                ar.push(arr[i])
            } else ar.push(arr[i])
            return ar
        });
        temp = temp.concat(up)
    }
    temp = temp.map(a => a.reduce((a, b) => a + b));
    return Math.max(...temp);
}
alert(maxSumm([4, 10, 3, 1, 5]))
 			 Последний раз редактировалось рони, 11.08.2020 в 23:08.
 |  |  
	| 
		
	| 
			
			 
			
				11.08.2020, 22:11
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 14.08.2018 
						Сообщений: 65
					 
		
 |  |  
	| Я просто не понимаю смысл задания. Нужно найти  последовательность, которая максимизируетколичество дней пребывания?
 |  |  
	| 
		
	| 
			
			 
			
				11.08.2020, 22:15
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 14.08.2018 
						Сообщений: 65
					 
		
 |  |  
	| Спасибо за код конечно же, но мне нужно свой написать, это с конторы тз прислали, а копипастить это не то) |  |  
	| 
		
	| 
			
			 
			
				12.08.2020, 02:12
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| 
	
 
	| Сообщение от Marson |  
	| Я просто не понимаю смысл задания. |  
	
 Я тоже, почему:
 
[7, 1, 2, 5] => 12 
7 => Авг 1 - Авг 7 
1 => Авг 7 - Авг 8 
2 => Авг 8 - Авг 10 
5 => Авг 10 - Авг 15
 
И если бы мне был такой заказ от гостиничного бизнеса я бы выяснил у них, что это и как, а не тут задавал вопрос. |  |  |  |