自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 许个愿

路漫漫其修远兮,吾将上下而求索。

2019-09-17 18:41:43 44 0

原创 Pytorch入门实战-----ResNet识别CIFAR-10数据集

跑了一个epoch,正确率为: import torch import torch.nn as nn import torchvision.datasets as dsets import torchvision.transforms as transforms from torch.au...

2019-06-25 12:39:45 535 0

原创 Pytorch入门实战-----双向RNN识别手写数据集

跑了一个epoch,测试了一下: import torch import torch.nn as nn import torchvision.datasets as dsets import torchvision.transforms as transforms from torch.a...

2019-06-25 10:46:37 462 0

原创 实习面试第二篇--杭州北大信息技术研究院

这是实习期间面试的第二个公司,老师在班级群里面发的招聘信息,然后直接就投了简历,我直接投的微信,然后看了之后让我等待面试。 大概三四天的时候,收到电话让我预约面试,时间定于周三早上十点。 第一个面试官:看了一下简历,什么也不问,直接让你写代码,就是数据结构的内容。二分查找、排序、以及二叉树这些...

2019-06-17 16:07:48 1910 1

原创 数据结构---归并排序(Python)

归并排序 归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。 将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。 ...

2019-06-12 18:44:30 47 0

原创 数据结构---希尔排序(Python)

希尔排序 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关...

2019-06-12 16:46:54 32 0

原创 数据结构---二分查找(Python)

二分法查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录...

2019-06-12 10:47:27 48 0

原创 数据结构---快速排序(Python)

快速排序 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整...

2019-06-11 15:44:58 32 0

原创 数据结构---插入排序(Python)

插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 def ins...

2019-06-11 15:10:30 66 0

原创 数据结构---选择排序(Python)

选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据...

2019-06-11 14:57:44 40 0

原创 数据结构---冒泡排序(Python)

冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 ...

2019-06-11 14:45:10 34 0

原创 数据结构---双端队列(Python)

双端队列(deque,全名double-ended queue),是一种具有队列和栈的性质的数据结构。 双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。双端队列可以在队列任意一端入队和出队。 操作 Deque() 创建一个空的双端队列 add_front(item)...

2019-06-10 20:51:41 77 0

原创 数据结构---队列的实现(Python)

队列的实现 同栈一样,队列也可以用顺序表或者链表实现。 操作 Queue() 创建一个空的队列 enqueue(item) 往队列中添加一个item元素 dequeue() 从队列头部删除一个元素 is_empty() 判断一个队列是否为空 size() 返回队列的大小 class...

2019-06-10 20:35:16 48 0

原创 数据结构---栈(Python)

栈结构实现 栈可以用顺序表实现,也可以用链表实现。 栈的操作 Stack() 创建一个新的空栈 push(item) 添加一个新的元素item到栈顶 pop() 弹出栈顶元素 peek() 返回栈顶元素 is_empty() 判断栈是否为空 size() 返回栈的元素个数 cla...

2019-06-10 20:19:58 35 0

原创 数据结构---双向链表(Python)

双向链表 一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。 操作 is_empty() 链表是否为空 length() 链表长度 travel() 遍历...

2019-06-10 20:09:05 63 0

原创 数据结构---单向循环链表(Python)

上周去面试,数据结构真的太重要了。自己掌握的不是很好,吃了很大的亏。 路漫漫其修远兮,吾将上下而求索....... 单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。 操作 is_empty() 判断链表是否为空 length() 返...

2019-06-10 19:19:13 43 0

原创 Pytorch入门实战-----LSTM识别手写数据集

LSTM长短期记忆网络,听说用来识别手写数据集有点大材小做,不过一直对语音、序列模型等等没怎么实践过,以后有空了再玩玩。 跑了一个epoch,正确率为97。 完整代码: import torch import torch.nn as nn import torchvision.tran...

2019-06-01 15:52:41 763 0

原创 Pytorch入门实战-----CNN识别手写数据集

CNN网络对图像的提取特征确实厉害了,只跑一个epoch识别率就达到了98。 import torch import torch.nn as nn import torchvision.transforms as transforms import torchvision.datasets...

2019-05-31 20:25:18 534 0

原创 Pytorch入门实战-----前馈神经网络识别手写数据集

识别率还挺高的,跑了10个epoch,正确率96. import torch import torch.nn as nn import torchvision.datasets as dsets from torch.autograd import Variable import torc...

2019-05-31 16:13:30 272 0

原创 Pytorch入门实战-----逻辑回归识别手写数据集

定义的网络比较简单,可以自行修改,调一下参数,识别率就会上去了。 import torch import torch.nn as nn from torch.autograd import Variable import torchvision.datasets as dsets import...

2019-05-31 15:26:33 81 0

原创 Pytorch入门实战-----线性模型

基础知识tensor跟Variable这些就不多说了,博客也很多,随便搜一下就好了呢。 直接进入主题:下面就来完成一个小案例,红色的点就是原始数据,如何利用这些数据拟合出一条合适的直线呢,比如下面的红线,来作为预测。我们可以利用神经网络来实现它。 导入所需要的包: #导入所需要的包 i...

2019-05-30 22:14:32 114 0

原创 LeetCode091-解码方法

一条包含字母A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数。 示例 1: 输入: "1...

2019-05-19 14:47:51 66 0

原创 LeetCode090-子集 II

给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: [1,2,2] 输出: [ [2], [1], [1,2,2], [2,2], [1,2], [] ] class Solution...

2019-05-19 13:32:22 48 0

原创 LeetCode088-合并两个有序数组

给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。 说明: 初始化nums1 和 nums2 的元素数量分别为m 和 n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。 示例:...

2019-05-19 12:42:53 52 0

原创 LeetCode081-搜索旋转排序数组 II

假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组[0,0,1,2,2,5,6]可能变为[2,5,6,0,0,1,2])。 编写一个函数来判断给定的目标值是否存在于数组中。若存在返回true,否则返回false。 示例1: 输入: nums = [2,5,6,0,0,...

2019-05-18 15:47:36 58 0

原创 LeetCode080-删除排序数组中的重复项 II

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例1: 给定 nums = [1,1,1,2,2,3],函数应返回新长度为5,并且原数组的前五...

2019-05-18 15:38:32 50 0

原创 LeetCode078-子集

给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ] 思路...

2019-05-18 13:51:13 63 0

原创 LeetCode077-组合

给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入:n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 回溯法 class Solution: ...

2019-05-18 11:55:48 53 0

原创 LeetCode075-颜色分类

给定一个包含红色、白色和蓝色,一共n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 示例: 输入: [2,0,2,1,1,0]...

2019-05-18 10:18:52 59 0

原创 LeetCode074- 搜索二维矩阵

编写一个高效的算法来判断m x n矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例1: 输入: matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [2...

2019-05-18 09:30:48 64 0

原创 LeetCode071-简化路径

以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝...

2019-05-17 14:43:33 55 0

原创 LeetCode070-爬楼梯

假设你正在爬楼梯。需要 n阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入:...

2019-05-17 14:37:44 66 0

原创 LeetCode069-x 的平方根

实现int sqrt(int x)函数。 计算并返回x的平方根,其中x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842..., 由...

2019-05-17 14:09:32 66 0

原创 LeetCode067-二进制求和

给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字1和0。 示例1: 输入: a = "11", b = "1" 输出: "100" 示例2: 输入: a = "1010"...

2019-05-17 14:05:33 53 0

原创 LeetCode066-加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示例2...

2019-05-17 13:59:12 74 0

原创 LeetCode060-第k个排列

给出集合[1,2,3,…,n],其所有元素共有n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当n = 3 时, 所有排列如下: "123" "132" "213" "231" "312&...

2019-05-17 13:36:58 54 0

原创 LeetCode058-最后一个单词的长度

给定一个仅包含大小写字母和空格' '的字符串,返回其最后一个单词的长度。 如果不存在最后一个单词,请返回 0。 说明:一个单词是指由字母组成,但不包含任何空格的字符串。 示例: 输入: "Hello World" 输出: 5 class So...

2019-05-17 10:37:33 52 0

原创 数据结构---单向链表(Python)

最近刷LeetCode,涉及到了很多链表的内容,都暂时跳过了。学习了一下传播智客的Python版数据结构,做一些笔记吧。 单项链表 单项链表也叫单链表,是链表中最简单的一种形式,它的每一个节点包含两个域,一个称为信息域(元素域),另一个称为链接域(指针域)。其中链接指向链表中的下一个节点,而最...

2019-05-17 10:05:19 77 0

原创 LeetCode056-合并区间

给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例2: 输入: [[1,4]...

2019-05-16 16:11:06 63 0

原创 LeetCode053- 最大子序和

给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释:连续子数组[4,-1,2,1] 的和最大,为6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,...

2019-05-16 15:42:52 80 0

提示
确定要删除当前文章?
取消 删除