快速选择通常用于求top k的情况,时间复杂度为O(n),而空间复杂度由于其存在递归栈深度,为O(logn),笔者在本文里将递归写法转为迭代法。
首先是递归写法。
1 | class Solution { |
可以注意到无论是快排还是快速选择都属于尾递归,因此可用迭代进行如下优化。
1 | class Solution { |
同样的道理,快速排序也可进行迭代法优化,在这里不详述。
生活在树上-始终热爱大地-升入天空
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true