JavaScript: найти количество инверсий указанного массива целых
JavaScript Basic: Упражнение-102 с решением
Напишите программу на JavaScript, чтобы найти число инверсий для данного массива целых чисел.
Примечание. Два элемента массива a, хранящиеся в позициях i и j, образуют инверсию, если a [i]> a [j] и i <j.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title> Find the number of inversions of a specified array of integers</title>
</head>
<body>
</body>
</html>
Код JavaScript:
function number_of_InversionsNaive(arr) {
var ctr = 0;
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j])
ctr++;
}
}
return ctr;
}
console.log(number_of_InversionsNaive([0, 3, 2, 5, 9]));
console.log(number_of_InversionsNaive([1, 5, 4, 3]));
console.log(number_of_InversionsNaive([10, 30, 20, -10]));
Пример вывода:
1 3 4
Блок - схема:
Версия ES6:
function number_of_InversionsNaive(arr) {
let ctr = 0;
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j])
ctr++;
}
}
return ctr;
}
console.log(number_of_InversionsNaive([0, 3, 2, 5, 9]));
console.log(number_of_InversionsNaive([1, 5, 4, 3]));
console.log(number_of_InversionsNaive([10, 30, 20, -10]));
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-102 от w3resource ( @ w3resource ) в CodePen .
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на JavaScript, чтобы проверить, содержит ли данная строка только латинские буквы и нет ли двух строчных и двух строчных букв в соседних позициях.
Далее: Напишите программу на JavaScript, чтобы найти максимальное число из заданного положительного целого числа, удалив ровно одну цифру из данного числа.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования