Задать вопрос
@Faha1998
Full stack

Перебор массива(js),как?

Вопрос может показать глупым, в некоторых местах может тупым, но надеюсь на вашу доброту), не пинайте сильно))
Пытаюсь решить вот эту задачку codeforces.com/contest/158/problem/A
Думаю ее можно решить перебором массива
var i = prompt("Введите ваши числа(n и k)").split(" ");
var n = i[0];
var k = i[1];
var p = prompt("Введите очки участников").split(" ");
var d = k;
	for(b = p[k--];b <= n; b++){
		for(h = p[k]; h<= n; h++){
			if(b == h){
				d++;
			}
		}
	}
console.log(d);

ввожу данные
4 3
1 1 1 1
k = 3
b = единице под номером 3
h = единице под номером 4
d = 3
ведь цикл должен проверять если b = h, то d++
почему он выводит что d = 7??, ведь ограничение до 4, откуда еще 3 прогона берется?
  • Вопрос задан
  • 120 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@Faha1998 Автор вопроса
Full stack
var i = prompt("Введите ваши числа(n и k)").split(" ");
var n = i[0];
var k = i[1];
var p = prompt("Введите очки участников").split(" ");
var d = k;
	for(b = p[k- 1];k<p.length; k++){
		var h = p[k];
		if(b == h){
			d++;
		}
	}
console.log(d);

изначально концепт инкремента был неправильный,нужно было увеличивать k, что бы b сдвигалось по массиву,а не само число.
Все заработало
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Воронеж
от 50 000 до 90 000 ₽
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽