zoukankan      html  css  js  c++  java
  • 逆序的一个题目

    https://leetcode.com/problems/count-of-smaller-numbers-after-self/?tab=Description

    这道题目,比求出整体逆序个数,更多一个,是求出每一个位置的逆序个数。

    这是根据MergeSort的常规解法:

    https://discuss.leetcode.com/topic/31162/mergesort-solution

    只不过排序的时候,是反过来的。是从尾部开始放置,然后每个元素放置到尾部的时候,记录下跨过了多少位置。

    这是另一种,根据树状结构的:

    https://discuss.leetcode.com/topic/31405/9ms-short-java-bst-solution-get-answer-when-building-bst

    另外,逆序的求法,可以看下面的:

    http://blog.csdn.net/dlengong/article/details/7594919

    关键有几点:

    1. 

    基本框架:

    1. MergeSort(array,first,med);  
    2.     MergeSort(array,med+1,last);  
    3.     Merge(array,first,med,last);  

    然后在Merge里面计算逆序个数。

    2.

    Merge的时候,需要使用一个新的数组来放置合并的元素。

  • 相关阅读:
    模块与包的导入
    递归
    day04
    装饰器2_根据认证来源判断用户和计算登录时间
    装饰器1_统计时间函数装饰欢迎登录函数
    tail -f a.txt | grep 'python'
    函数
    内置函数1
    python模块整理
    VBS恶作剧代码
  • 原文地址:https://www.cnblogs.com/charlesblc/p/6457880.html
Copyright © 2011-2022 走看看