摘要:
import queue # 创建队列 q = queue.Queue() # 添加元素 q.put(1) q.put(2) q.put(3) # 检查队列大小 print(q.qsize()) # 遍历队列 while not q.empty(): print(q.get()) 执行结果: 3 1 阅读全文
摘要:
import heapq # python里只有最小堆,如果要用最大堆,每个元素*-1后加入最小堆,然后堆顶元素再*-1即可 # 1,两种方式创建堆 # (1)使用一个空列表,然后使用heapq.heappush()函数把值加入堆中 nums = [2,4,6,1,8] myheap = [] fo 阅读全文
摘要:
描述 给出一个有n个元素的数组S,S中是否有元素a,b,c满足a+b+c=0?找出数组S中所有满足条件的三元组。 数据范围:0 \le n \le 30000≤n≤3000,数组中各个元素值满足 |val | \le 100∣val∣≤100 空间复杂度:O(n^2)O(n2),时间复杂度 O(n^ 阅读全文
摘要:
给定一个二叉树的根节点root,返回它的中序遍历结果。 数据范围:树上节点数满足 0 \le n \le 10000≤n≤1000,树上每个节点的值满足 0 \le val \le 10000≤val≤1000进阶:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n) 示例1 输入: {1,2 阅读全文
摘要:
描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P mod 1000000007 数据范围: 对于 50\%50% 的数据, size\leq 10^4size≤1 阅读全文
摘要:
1.python多线程: 1.1 不是真正的多线程 python中存在一个全局解释器锁(GIL),在任意时刻只能由一个线程在解释器中运行。因此Python中的多线程是表面上的多线程(同一时刻只有一个线程),不是真正的多线程。 1.2 python多线程使用场景: 适用于io密集型程序。可以让IO堵塞 阅读全文