空间换时间,维护一个动态有序数组,内存击败100%,时间击败60%
解题思路题干要求取最小值的时间复杂度是常数级,正常取一个数组中的最小值需要O(n)的复杂度,即每个元素比较一次。····这里选用数组a来存储栈····#方法一:哈希查找要想减小时间复杂度,最方便的方法就是空间换时间,要么利用哈希给每个元素标号,就是维护一个序号数组大小 由最大元素值和最小元素值大小而定,即max(x)-min(x)的大小(负数的话就要用两个哈希数组,一个表示正,一个表示负)每个元素值下内容是每个元素的排名,但是仔细想来,出栈的时候要遍历元素范围那么大复杂度的数组,然后每个排名都减一,
原创
2020-05-12 10:18:32 ·
958 阅读 ·
0 评论