相关疑难解决方法(0)

计算数组中的反转

我正在设计一个算法来执行以下操作:给定数组A[1... n],对于每个i < j,找到所有的反转对A[i] > A[j].我正在使用合并排序并将数组A复制到数组B,然后比较两个数组,但我很难看到如何使用它来查找反转次数.任何提示或帮助将不胜感激.

algorithm

101
推荐指数
10
解决办法
13万
查看次数

对数组进行排序的最小交换次数

我需要做这样的事情:假设我有一个数组:

 [3, 4, 1, 2]
Run Code Online (Sandbox Code Playgroud)

我需要交换 3 和 4,以及 1 和 2,所以我的数组看起来像[4, 3, 2, 1]. 现在,我可以只做sort(). 在这里我需要计算我需要多少次迭代,将初始数组更改为最终输出。例子:

// I can sort one pair per iteration
let array = [3, 4, 1, 2, 5]
let counter = 0;

//swap 3 and 4
counter++;
// swap 1 and 2
counter++;
// 5 goes to first place
counter++

// now counter = 3 <-- what I need
Run Code Online (Sandbox Code Playgroud)

编辑:这是我尝试过的。并不总是有效...它来自这个问题:Bubble sort algorithm JavaScript

let counter = 0;
    let swapped;
    do …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

algorithm ×1

arrays ×1

javascript ×1