算法
LeocenaY
这个作者很懒,什么都没留下…
展开
-
python 中的sort函数效率
比自己实现的快排快500多倍。。import timeclass Solution: """ @param: s: A string @return: A string """ #自己实现的快排序 def median(self, nums): # write your code here mid = (le...原创 2019-12-30 17:59:36 · 1036 阅读 · 1 评论 -
面试题目记录之,数组中不存在的最小整数
题目:给定一个无序整型数组arr,找到数组中未出现的最小正整数。要求时间复杂度为O(N)空间复杂度为O(1)。例如:arr=[-1,2,3,4]。返回1。arr=[1,2,3,4]。返回5。=========================================================分析:首先确定要找到的数字。是形如这样的数字:比如 [1,2,3,5,6...原创 2019-12-29 00:35:16 · 918 阅读 · 0 评论 -
二叉搜索树找第K小的树
百度面试题题目描述:给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。题目来源:牛客网代码实现(python2)# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# ...原创 2019-11-19 20:03:17 · 364 阅读 · 0 评论 -
Python 在不排序的情况下求数组中的中位数
百度/JD 面试题题目:中位数就是一组数据从小到大排列后中间的那个数字。如果数组长度为偶数,那么中位数的值就是中间两个数字相加除以2,如果数组长度为奇数,那么就是中间那个数。分析:采用类快速排序的方法,把问题转化为求一列数中第i小的数的问题,求中位数就是求一列数的第(len(arr)/2 + 1)小的数的问题)。当使用依次类快速排序算法后,分割元素(Key)的下标为pos:一次快拍...原创 2019-11-19 15:40:45 · 1332 阅读 · 0 评论 -
Leetcode 143 链表对折
思路:1. 通过快慢指针,一个步长为1, 一个步长为2, 找到链表中点。2. 前/后 半段链表反转。3. 与另一半链表归并插入。class Solution: def reorderList(self, head): """ :type head: ListNode :rtype: void Do not return an...原创 2019-11-07 09:36:02 · 3239 阅读 · 0 评论