算法刷题
随便写写诶
这个作者很懒,什么都没留下…
展开
-
NC88 寻找第K大(python) 快速排序
描述有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(1<=K<=n),请返回第K大的数(包括重复的元素,不用去重),保证答案存在。示例1输入: [1,3,5,2,2],5,3返回值:2快速排序模板class Solution: def quick_sort(self, a, start, end): if start >= end: # 递归的退出条件 retu原创 2021-07-14 20:55:19 · 960 阅读 · 0 评论 -
NC119 最小的K个数(python)
描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。0 <= k <= input.length <= 100000 <= input[i] <= 10000冒泡排序的方法 每排一次会出现一个最小的,存储到res数组里时间复杂度是O(K*N)# -*- coding:utf-8 -*-class Solution: def GetLeastNumbers_Solution(sel原创 2021-07-14 18:51:58 · 263 阅读 · 0 评论 -
NC102 在二叉树中找到两个节点的最近公共祖先
描述给定一棵二叉树(保证非空)以及这棵树上的两个节点对应的val值 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点。注:本题保证二叉树中每个节点的val值均不相同。示例1输入:[3,5,1,6,2,0,8,#,#,7,4],5,1返回值:3# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None原创 2021-07-13 19:37:14 · 278 阅读 · 0 评论