c# - 无法理解合并排序算法中的倒数计数(C#,算法)
问题描述
我在理解使用合并排序算法(https://gist.github.com/dvorobiov/2038501)计算反转的过程时遇到了问题。在第 43 行,
inversions += leftList.Count - i;
为什么不做
inversions++
解决方案
此行在 时执行(leftList[i] > rightList[j])
。
这个事实意味着它rightList[j]
小于所有正确的部分leftlist
- 所以这种情况揭示了leftList.Count - i
新的倒置
推荐阅读
- sql - 可编辑视图中的列数是否影响性能
- ios - 无法将 autoID 传递给新的 VC
- asp.net-core-2.0 - .net 核心 Web API,静态文件图像无法正确加载?
- javascript - 自定义光标创建颤抖的svg
- python - `nditer` 和 `flat` 之间的区别,元素的类型
- sql - SQL - 尝试根据 CASE WHEN 计算记录(简单?)
- r - 如何使用 R 中的自动过程(即 for 循环等)查找向量之间特定值序列的匹配行
- python - 求和的 sympy 积分
- python - ffmpeg RTSP 到 RTMP - 在 Python 3 中运行时出现语法错误
- jenkins - jenkins declerative 管道 - 覆盖率下降时构建失败