code
baike33
这个作者很懒,什么都没留下…
展开
-
排序算法总结(Python版本)
看了很多排序算法,每种算法都有多个版本,现总结一版自己觉得容易理解的,供以后翻阅。1.插入排序直接插入排序直接插入排序是将一个数插入到已经排序好的序列中。做法是先将第一个数作为已经排序好的,依此将后面的数取出插入到前面已排序好的序列中。def insert_sort(nums): for i in range(len(nums)): for j in range(i): ...转载 2018-07-05 11:08:27 · 253 阅读 · 0 评论 -
快速排序及改进(Python)
普通的快排我们可以选择数组首元素或尾元素作为pivot,代码如下def quick_sort(nums): if not nums: return [] else: div=nums[0] left=quick_sort([l for l in nums[1:] if l<=div]) right=quick_sort([r for r in nums[1:] if...原创 2018-08-20 10:58:31 · 1797 阅读 · 1 评论 -
海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)
原文地址https://blog.csdn.net/zyq522376829/article/details/47686867有1亿个浮点数,如果找出期中最大的10000个? 最容易想到的方法是将数据全部排序,然后在排序后的集合中进行查找,最快的排序算法的时间复杂度一般为O(nlogn),如快速排序。但是在32位的机器上,每个float类型占4个字节,1亿个浮点数就要占用40...转载 2018-08-15 10:56:44 · 1970 阅读 · 0 评论 -
记录一下最近碰到的几个常见编程题
1.字符串的全排列思路:以abc为例,取出b,分别在a的前后插入b,可以得到ab,ba,然后再ab的每一个位置插入c,可以得到cab,acb,abc,对ba采取同样的操作。最终可以得到全排列的6种结果。代码如下:# -*- coding:utf-8 -*-class Solution: def Permutation(self, ss): # write c...原创 2018-07-20 22:02:30 · 543 阅读 · 0 评论 -
二叉树常见问题(递归与非递归,Python)
先上三种遍历方式的递归版代码:前序遍历:ans=[]def PreOrder_Recursive(root): if root: ans.append(root.val) PreOrder_Recursive(root.left) PreOrder_Recursive(root.right)中序遍历:ans=[]def...原创 2018-07-14 16:37:24 · 934 阅读 · 0 评论 -
求一个无序数组的中位数(Python)
最简单的方法是先将数组排序,然后找中位数。但此种方法肯定不是最优的。一个比较好的做法是利用小顶堆。思路如下:1.取前len(nums)/2个元素建立小顶堆。可以知道堆顶元素是前len(nums)/2个元素中最小的。2.从第len(nums)/2+1个元素开始,依次将其与堆顶元素比较。若比对顶元素大,则替换之,并调整堆。3.数组剩下的所有元素比较完后,可以输出中位数。数组长度为奇数时,输出堆顶元素即...原创 2018-07-12 10:31:17 · 5162 阅读 · 0 评论 -
拼多多笔试题解析
120分钟,共四道编程题。1.输出一个数组A最长的“山谷”子数组B的长度。山谷是指B[0]>B[1]>...B[i-1]>B[i]<B[i+1]<...<B[B.length-1]。B可以是A的子数组或者等于A。如果子数组长度小于3,则返回0。思路:对每个数,向左搜索,若比当前数大,则一直搜索。向右搜索,若比当前数大,则一直搜索。代码如下:de...原创 2018-07-23 15:52:42 · 3080 阅读 · 0 评论 -
动态规划常见题(Python)
由于动态规划一直是一个比较难的点,因此在这里将leetcode刷题过程中碰到的比较常见的动态规划题记录下来。不定期更新。1.最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。先上代码:class Solution(object): d...原创 2018-09-17 10:08:52 · 1152 阅读 · 0 评论 -
常见查找算法(Python)
1.线性查找def sequentia_search(nums,key): for i in nums: if i==key: return True return False2.二分查找def binary_search(nums,key): start,end=0,len(nums)-1 while start<en...转载 2018-07-10 16:34:21 · 225 阅读 · 0 评论 -
常见单链表相关问题总结(Python)
总结了一些链表中常见的问题,供以后翻阅。首先定义单个结点# Definition for singly-linked list.class ListNode(object): def __init__(self, x): self.val = x self.next = None1.反转单链表输入: 1->2->3->4->5-&g...原创 2018-07-06 16:07:02 · 544 阅读 · 0 评论 -
python实现四维卷积
转自python实现卷积层的前向后向传播过程前向传播import numpy as npdef conv_forward_naive(x, w, b, conv_param): """ A naive implementation of the forward pass for a convolutional layer. The input consists...转载 2018-09-10 10:27:18 · 2166 阅读 · 0 评论