自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 剑指offer 19-1028

按之字形顺序打印二叉树请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。层次遍历+双向切换class Solution: def Print(self, pRoot): # write code here res=[] queue=[] ...

2019-10-29 16:10:59 113

原创 剑指Offer 19-1023

正则表达式匹配请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配class Solution: # s, pattern都是字符串 def m...

2019-10-28 09:08:51 116

原创 剑指offer 19-1027

删除链表中重复的结点在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5三个结点 注意边界条件class Solution: def deleteDuplication(self, pHead): ...

2019-10-28 09:08:35 114

原创 剑指Offer 19-1022

左旋转字符串汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!考点在于翻转字符串 给定XY 求YX 有(XTYT)T=YXclass Solution...

2019-10-22 20:25:27 118

原创 剑指Offer 19-1021

只出现一次的数字①一个整型数组里除了一个数字之外,其他的数字都出现了两次。请写程序找出这个出现一次的数字。class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ n=0 ...

2019-10-21 21:50:02 71

原创 剑指offer 19-1020

数组中的逆序对在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007归并排序的思路(添加count进行计数即可)count = 0class Solution: def InversePairs(self, data): ...

2019-10-21 09:42:08 75

原创 剑指offer 19-1018

数组中出现超过一半的数字数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。#比较笨的方法,计数比较class Solution: def MoreThanHalfNum_Solution(self, numbers): ...

2019-10-18 16:42:49 96

原创 排序算法

冒泡排序O(n^2)复杂度 for i in range(len(nums)-1): flag=False for j in range(0,len(nums)-i-1): if nums[j] > nums[j+1]: nums[j],nums[j+1]...

2019-10-17 17:18:51 68

原创 剑指Offer 19-1017

复杂链表的复制输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)参考方法二:力扣class Solution: # 返回 RandomListNode def Clone(self, pHead): ...

2019-10-17 16:29:09 71

原创 剑指offer 19-1015

树的子结构输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)基本思路是通过两个函数递归实现,第一个函数递归历遍整个a树,第二个函数判断tree1是否为tree2的子树class Solution: def HasSubtree(self, pRoot1, pRoot2): # write code here ...

2019-10-16 22:04:01 78

原创 剑指Offer 19-1009

合并两个排序的链表输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。引入第三个链表保存或者可以使用递归,不用引入链表class Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): # write code here tmp=ListNode(0...

2019-10-09 11:05:57 80 1

原创 剑指Offer 19-1008

调整数组顺序使奇数位于偶数前面输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。class Solution: def reOrderArray(self, array): # write code here odd,even=[],[]...

2019-10-08 15:24:24 100

原创 剑指Offer 19-1001

二进制中1的个数输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。class Solution: def NumberOf1(self, n): # write code here if n<0: #得到补码形式 n=n&0xffffffff if n>=0...

2019-10-01 21:21:10 77

原创 剑指Offer19-0926

从头到尾打印链表输入一个链表,按链表从尾到头的顺序返回一个ArrayList。class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self, listNode): list=[] if listNode == None: return...

2019-09-30 14:11:23 78

原创 19-0926 LeetCode

单词拆分给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” ...

2019-09-26 16:44:03 73

原创 LeetCode19-0712

二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,1...

2019-07-21 15:04:20 101

原创 LeetCode19-0713

有效的数独判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。数独部分空格内已填入了数字,空白格用 ‘.’ 表示。class Solution: def isValidSudoku(self, board: L...

2019-07-14 18:03:36 84

原创 LeetCode19-0707

字母异位词分组给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]class Solution: def groupAnagrams(self...

2019-07-07 23:14:23 97

原创 LeetCode19-0624

两个数组的交集给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]class Solution: def intersect(self, nums1: List[int...

2019-06-24 21:20:05 72

原创 LeetCode19-0619

两个列表的最小索引和假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。示例 1:输入:[“Shogun”, “Tapioca Express”, “Burger King”, “KFC”][...

2019-06-19 10:07:31 104

原创 LeetCode19-0617

两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]#两次历...

2019-06-17 19:39:49 156

翻译 【转载】Anchor-free方法---CornerNet解读

转载自这里目标检测领域最近有个较新的方向:基于关键点进行目标物体检测。该策略的代表算法为:CornerNet和CenterNet。由于本人工作特性,对网络的实时性要求比较高,因此多用YoLov3及其变体。而就在今天下午得知,基于CornerNet改进的CornerNet-Squeeze网络居然在实时性和精度上都超越了YoLov3,我还是蛮激动的,故趁此机会学习下该类检测算法的原理。corne...

2019-06-13 21:31:16 596

转载 [深度学习]Focal Loss的理解

总述Focal loss主要是为了解决one-stage目标检测中正负样本比例严重失衡的问题。该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘。交叉熵首先,,回顾交叉熵的形式:L=−ylogy^−(1−y)log(1−y^)={−logy^, if y=1−log(1−y^), if y=0L=-ylog\hat{y}-(1...

2019-06-13 16:39:53 2211

原创 LeetCode19-6-11

最近在准备面试,好久没做算法题了删除链表的倒数第N个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.class Solution: def removeNthFromEnd(self, ...

2019-06-11 09:25:57 59

转载 RoiAlign-计算实例

最近在看MaskRCNN,贴上一个RoiAlign的计算实例。转自知乎假设特征图大小是1x256x200x272,rois大小是715x5(5列分别是:对应的图片id(这里只有一张图片,所以第一列全为0)、对应roi左上角的x,y坐标、roi右下角的x,y坐标),roi align后的输出大小为715x256x7x7。对于每一个roi (1个channel):把roi的坐标调整到合适的sca...

2019-05-30 15:27:31 2645

转载 【深度学习】FCN全卷积网络

全卷积网络 Fully Convolutional Networks全连接层 -> 成卷积层全连接层和卷积层之间唯一的不同就是卷积层中的神经元只与输入数据中的一个局部区域连接,并且在卷积列中的神经元共享参数。然而在两类层中,神经元都是计算点积,所以它们的函数形式是一样的。因此,将此两者相互转化是可能的:对于任一个卷积层,都存在一个能实现和它一样的前向传播函数的全连接层。权重矩阵是一...

2019-05-24 19:58:47 180

原创 【机器学习基础】最小二乘与极大似然估计

最小二乘法最小二乘法是勒让德( A. M. Legendre)于1805年在其著作《计算慧星轨道的新方法》中提出的。它的主要思想就是求解未知参数,使得理论值与观测值之差(即误差,或者说残差)的平方和达到最小:E=∑mie2=∑mi(yi−y^)2E=\sum_{m}^{i}e^2=\sum_{m}^{i}(y_i-\hat{y})^2E=m∑i​e2=m∑i​(yi​−y^​)2其中,yiy...

2019-05-21 16:16:34 1247

原创 LeetCode刷题笔记19-5-21

142.环形链表给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node in...

2019-05-21 10:41:20 88

原创 LeetCode19-5-19

探索数组和字符串给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。class Solution: def minSubArrayLen(s...

2019-05-19 13:20:56 109

转载 [深度学习]卷积神经网络综述

最近在准备算法岗面试,复习了一下常用的分类卷积网络的构造,包括:AlexNet,VGG,Inception,ResNet。AlexNet首先我们需要明确的是,在深度学习中,我们总是希望网络能够够“深”,一方面是由于万能逼近定理表明,如果一个函数可用k层结构以简洁的形式表达,那么用k-1层的结构表达则可能需要指数级数量的参数(相对于输入信号),且泛化能力不足,另一方面,我们希望能够层次化的表达分...

2019-05-16 22:08:40 1207 1

原创 LeetCode刷题笔记19-5-16

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

2019-05-16 09:34:13 103

转载 深度学习中的dropout原理

1. Dropout简介1.1 Dropout出现的原因在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。在训练神经网络的时候经常会遇到过拟合的问题,过拟合具体表现在:模型在训练数据上损失函数较小,预测准确率较高;但是在测试数据上损失函数比较大,预测准确率较低。过拟合是很多机器学习的通病。如果模型过拟合,那么得到的模型几乎不能用。为了解决过拟合问...

2019-05-15 20:08:56 1208

原创 LeetCode刷题笔记19-5-15

54.螺旋矩阵给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]#没做出来,借鉴了评论区的答案,di,dj的设置,拐点点的判断都十分精妙!class Solution: def...

2019-05-15 09:59:11 107

原创 LeetCode刷题笔记19-5-14

给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,4,7,5,3,6,8,9]解释:思路进行一个迭代,当i+j(下标)为偶数是,上行;否则,下行,另外,需要特别关注边界点class Solu...

2019-05-14 16:41:54 103

原创 LeetCode

841.钥匙和房间有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。在形式上,对于每个房间 i 都有一个钥匙列表rooms[i],每个钥匙 rooms[i][j] 由 [0,1,...,N-1] 中的一个整数表示,其中 N = rooms.length。 钥匙 rooms[i][j] = v 可以打开编号为...

2019-05-12 18:32:46 101

原创 LeetCode

542.01矩阵给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。示例 1:输入:0 0 00 1 00 0 0输出:0 0 00 1 00 0 0解答class Solution: def updateMatrix(self, matrix: List[List[int]]) -> List[List[...

2019-05-12 16:45:36 77

转载 Pytorch - 模型保存与加载

原文:Saving and Loading Models作者:Matthew Inkawhich介绍一系列关于 PyTorch 模型保存与加载的应用场景,主要包括三个核心函数:[1] - torch.save保存序列化的对象(Serialized object)到磁盘.其中,应用了 Python 的 pickle 包,进行序列化,可适用于模型Models,张量Tensors,以及各种...

2019-05-12 14:34:04 128

原创 LeetCode19-5-10刷题笔记

733.图像渲染有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个...

2019-05-10 15:07:56 138

原创 LeetCode刷题笔记19-5-8

394.字符串解码给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 ...

2019-05-08 14:56:12 161

原创 LeetCode刷题笔记19-5-7

232.用栈实现队列使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop()– 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2);queue.peek(); // 返回 1queu...

2019-05-07 10:43:04 111

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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