解题思路:时间复杂度O(
n
n
n),空间复杂度O(
l
o
g
2
n
log_2{n}
log2n)
使用小根堆,建堆时间复杂度O(k),调整堆(删除堆顶并插入新元素)O(
n
∗
l
o
g
2
k
n*log_2k
n∗log2k),其中k是题目要求的返回第k最大元素。因此小根堆大小为k,故建堆为O(k). 共计O(
k
+
n
∗
l
o
g
2
k
k+n*log_2k
k+n∗log2k) = O(n)
public class test {//数组长度a,b,c为8,d为7;static int[] a {3,5,8,8,8,9,9,10};static int[] b {8,8,8,8,8,8,8,8};static int[] c {0,0,0,0,0,0,0,0};static int[] d {0,0,0,0,0,0,0};public static void main(String[] args) {int target 0;System.out.pr…
Visual Studio Code
选择使用 black 作为代码格式化工具,保证提交代码风格的统一
1. Install black
pip install black2. Install black and isort extension for vscode: 3. 设定black及isort的格式化配置
3.1. ctrl + , 打开配置面板 3.2. 在弹出的json配置中添加,&quo…