首页 > 其他分享 >逆序数的讨论

逆序数的讨论

时间:2023-06-15 23:07:52浏览次数:37  
标签:讨论 return 个数 https 排序 leetcode 序数

今天初中班主任问我一道题:

逆序数的讨论_归并排序

想了想这就是逆序数的问题。逆序数为,一个从1到n的排列的逆序数个数。对于这道题,就是一个从1到8的逆序数为8的排列的个数。

相关论文:https://kns.cnki.net/kcms2/article/abstract?v=3uoqIhG8C44YLTlOAiTRKgchrJ08w1e7_IFawAif0mzHoqs1uKxDSYgJRaQREx5nVao7p1E2WoiyrIiHvmygVojJKmfvGnmx&uniplatform=NZKPT&src=copy

大概思路就是递归:

def w(n, j):
    s = 0
    if j < 0 or j > n * (n - 1) // 2:
        return 0
    if n == 1:
        return 1
    for k in range(j - n + 1, j + 1):
        s += w(n - 1, k)
    return s

print(w(8, 8))

oeis:https://oeis.org/A008302

然后引申为一道leetcode题,求排列的逆序数。

https://leetcode.cn/problems/shu-zu-zhong-de-ni-xu-dui-lcof/solutions/216984/shu-zu-zhong-de-ni-xu-dui-by-leetcode-solution/

可以用归并排序做,每次排序的过程中利用子数组的有序性即可求出逆序个数。

逆序数的讨论_归并排序_02

如图所示,逐层排序的过程中将还未排序的数的个数相加即为答案。

复习一下归并排序。总之是分治的方法。

标签:讨论,return,个数,https,排序,leetcode,序数
From: https://blog.51cto.com/u_15763108/6495465

相关文章

  • 【LeetCode双指针】合并两个有序数组,从后向前遍历
    合并两个有序数组https://leetcode.cn/problems/merge-sorted-array/给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数......
  • [C++/PTA] 有序数组(类模板)
    题目要求实现一个类模板,它可以接受一组数据,能对数据排序,也能输出数组的内容。每行输入的第一个数字为0,1,2或3:为0时表示输入结束;为1时表示将输入整数,为2时表示将输入有一位小数的浮点数,为3时表示输入字符。如果第一个数字非0,则接下来将输入一个正整数,表示即将输入的数据的数量......
  • 每日一道leetcode:4. 寻找两个正序数组的中位数
    1.题目(困难)题目链接给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。算法的时间复杂度应该为O(log(m+n))。示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例2:输入:nums1=[1,2],nu......
  • 从开源到云原生,时序数据库 TDengine 六年回顾精彩纷呈
    2023年6月6日,涛思数据旗下时序数据库(TimeSeriesDatabase)TDengine迎来六周年庆典,并于北京·保利国际广场T2举办了主题为“TDengine6thAnniversary:BacktoTheFuture”的庆典活动,设置了「TDengine」时序照片亭、「TDengineDatabase」主题鸡尾酒、寻找TDengine等诸多有......
  • 从开源到云原生,时序数据库 TDengine 六年回顾精彩纷呈
    2023年6月6日,涛思数据旗下时序数据库(TimeSeriesDatabase)TDengine迎来六周年庆典,并于北京·保利国际广场T2举办了主题为“TDengine6thAnniversary:BacktoTheFuture”的庆典活动,设置了「TDengine」时序照片亭、「TDengineDatabase」主题鸡尾酒、寻找TDengine等诸多......
  • 从宏基因组测序数据生成宏基因组组装基因组的计算工具
    从宏基因组测序数据生成宏基因组组装基因组的计算工具小组成员及分工王嘉璐22020080046:负责摘要、引言部分王涵22020080045:负责用于构建mag的上游分析工具部分王婷22020080047:负责总结,查找文献,博文整理汇总 1摘要微生物本质上与地球上的人类生活有着错综复杂的联系。......
  • 2022 中国开源创新大赛,时序数据库 TDengine 榜上有名
    近日,2022中国互联网发展创新与投资大赛暨2022年中国开源创新大赛在北京落下帷幕,本次大赛由中央网信办信息化发展局指导,中国互联网发展基金会、中国网络空间研究院、中国互联网投资基金联合主办。非常荣幸的是,凭借着强大的开源创新能力和产品竞争力,时序数据库(TimeSeriesDatab......
  • 关于青语言语法设计的讨论
    数心开物工作室于6月1日开源发布了一门中文编程语言——青语言,并在开源中国、博客园等技术社区发布了相关新闻。与预期的一样,中文编程作为一个极具争议性的话题,该新闻一经发布,便收获了较多的关注和评论,其中包括大量的差评,甚至恶评。作为一个开源项目,我们并不介意这样的讨论,也不热......
  • 熄灯之后的学习——再读《MySQL必知必会》(4)|| 排序数据
    子句(clause):SQL语句由子句构成,有些子句是必须的,而有的是可选的。一个子句通常由一个关键字和所提供的数据组成。orderbyxxx指定以xxx列进行排序按多个列排序:只要指定列名,列名之间用逗号分开即可。在按多个列进行排序的时候,排序完全按所规定的顺序进行。降序排序:必须指定DES......
  • Apache Hudi 1.x 版本重磅功能展望与讨论
    ApacheHudi社区正在对ApacheHudi1.x版本功能进行讨论,欢迎感兴趣同学参与讨论,PR链接:https://github.com/apache/hudi/pull/8679/files摘要此RFC提议对Hudi中的事务数据库层进行令人兴奋和强大的重构,以推动未来几年整个社区的持续创新。在过去的几年里,社区成长(https://g......