自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 matplotlib模板

matplotlib是python最著名的绘图库https://matplotlib.org/gallery.html包含上百幅图表的缩略图及源程序

2019-10-12 11:00:02 152

转载 93. 复原IP地址

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: “25525511135”输出: [“255.255.11.135”, “255.255.111.35”]作者:powcai链接:https://leetcode-cn.com/problems/restore-ip-addresses/solution/bao-li-he-hui-su-by-powcai...

2019-09-09 10:57:32 50

原创 1171. 从链表中删去总和值为零的连续节点

给你一个链表的头节点 head,请你编写代码,反复删去链表中由 总和 值为 0 的连续节点组成的序列,直到不存在这样的序列为止。删除完毕后,请你返回最终结果链表的头节点。你可以返回任何满足题目要求的答案。(注意,下面示例中的所有序列,都是对 ListNode 对象序列化的表示。)示例 1:输入:head = [1,2,-3,3,1]输出:[3,1]提示:答案 [1,2,1] 也是正确...

2019-09-06 10:41:02 484

原创 129. 求根到叶子节点数字之和

给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3]1/ 2 3输出: 25解释:从根到叶子节点路径 1->2 代表数字 12.从根到叶子节点...

2019-09-04 16:52:48 45

原创 124. 二叉树中的最大路径和

给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6class Solution(object): def maxPathSum(self, root): #需要一个函数去求单支路上的最大值...

2019-09-04 16:38:09 42

原创 另一个树的子树

给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。递归class Solution(object): def isSubtree(self, s, t): def IfSame(s, t): if s==None and ...

2019-09-03 22:12:13 35

原创 leetcode41 缺失的第一个正数

给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1当没有1、2、3这些时,必然是1、2、3这些数中的。让在这个区间内的可行的数回到自己的位置,哪一个位置没有对应的则就是。如[1,2,0]是3没在,[3,4,-1,1]调整为[1...

2019-09-03 17:21:02 29

转载 leetcode287. 寻找重复数

给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n2) 。数...

2019-09-03 17:16:34 21

转载 整数中1出现的个数

题目描述求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。个位我们知道在个位数上,1会每隔10出现一次,例如1、11、21等等,我们发...

2019-09-03 17:12:07 70

原创 二分查找 Python

def binary_search(target, nums): index=-1 l=0 r=len(nums)-1 while l<=r: mid=(l+r)//2 if nums[mid]<target: l=mid+1 ...

2019-08-26 22:21:35 338

原创 旋转数组系列 python

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。class Solution(object): def rotate(self, nums, k): n = len(nums) k %= n for i in range(k): m = nums.pop() nums.i...

2019-08-26 22:14:00 52

原创 Pow(x,n) python

实现 pow(x, n) ,即计算 x 的 n 次幂函数。递归class Solution(object): def myPow(self, x, n): if n<0: n = -n return 1/self.help(x, n) return self.help(x, n) def he...

2019-08-26 20:51:54 37

原创 括号的生成 Python

给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parentheses著作权归领扣网络所...

2019-08-26 10:46:22 122

转载 手撕KNN python

import numpy as npimport operatordef createDataSet(): #四组二维特征 group = np.array([[1,101],[5,89],[108,5],[115,8]]) #四组特征的标签 labels = ['爱情片','爱情片','动作片','动作片'] return group, labels...

2019-08-24 22:13:33 82

原创 手撕iou python

def iou(bbox1, bbox2): # bbox1 = [x0,y0,x1,y1] x0, y0, x1, y1 = bbox1 x2, y2, x3, y3 = bbox2 s1 = (x1-x0)*(y1-y0) s2 = (x3-x2)*(y3-y2) w = max(0, min(x1, x3) - max(x0,x2)) ...

2019-08-24 21:46:12 108

原创 堆排序 python

def heapsort(arr): if arr == None or len(arr)<2: return arr for i in range(len(arr)): heapInsert(arr,i) size = len(arr) arr[0], arr[size-1] = arr[size-1], arr[0] ...

2019-08-24 11:28:41 28

原创 二叉树的最大/小深度 递归非递归 python

最大深度递归结束的条件是节点为空,返回0非递归用栈 去深度优先搜索树的所有节点最小深度非递归用队列 , 一旦节点没有左右孩子,就结束返回了class Solution(object): def maxDepth1(self, root): """ :type root: TreeNode :rtype: int ""...

2019-08-22 15:35:43 399

转载 为什么梯度提升方法倾向于选择决策树(通常是CART树)作为基学习器呢

基于梯度提升算法的学习器叫做GBM(Gradient Boosting Machine)。理论上,GBM可以选择各种不同的学习算法作为基学习器。现实中,用得最多的基学习器是决策树。为什么梯度提升方法倾向于选择决策树(通常是CART树)作为基学习器呢?这与决策树算法自身的优点有很大的关系。决策树可以认为是if-then规则的集合,易于理解,可解释性强,预测速度快。同时,决策树算法相比于其他的算法需要...

2019-08-22 09:55:03 375

原创 删除链表倒数第N个结点 python

class Solution(object): def removeNthFromEnd(self, head, n): """ :type head: ListNode :type n: int :rtype: ListNode """ h=ListNode(-1) h.nex...

2019-08-18 16:31:24 20

原创 旋转数组 python

matrix = [ [1,2,3], [4,5,6], [7,8,9]]def rotate1(matrix): matrix[:] = map(list, zip(*matrix[::-1]))rotate1(matrix)print(matrix)# zip#list(map(list,zip(matrix[2],matrix[1],matrix[0]))...

2019-08-18 15:47:58 28

原创 只出现一次的数字 python

#只出现一次的数字1, 其余数字都出现两次def singleNumber(nums): a = 0 for num in nums: a = a^num return aprint(singleNumber([1,1,2,2,3,3,8]))#只出现一次的数字2, 其余数字都出现三次#1.位运算求解此题;#2.如果把所有出现三次的数字的二进制表...

2019-08-16 16:34:58 117

原创 螺旋队列问题 python

设1点的坐标为(0,0),x方向向右为正,y向下为正,如7的坐标是(-1,-1)。编程实现任意输入一个点的坐标(x,y)。输出所对应的数字。7 8 96 1 25 4 3def foo(x, y): t = max(abs(x), abs(y)) #属于第几圈 u = 2*t + 1 w = u*u #该圈最大的数 if x == -t: ...

2019-08-16 15:47:41 185

原创 红白球概率问题 python

个袋子中有红球m个,白球n个。现在要从中取出x个球。那么红球数目多于白球的概率是多少呢?下面的代码解决了这个问题。其中的y表示红球至少出现的次数。这与前文的问题是等价的。因为如果取30个球,要求红球数大于白球数该题目由递归出口很容易看出是一个递归题目,m/(m+n)是第一个球是红球的概率,再调用递归求接下来再取到红球概率n/(m+n)是第一个球是白球的概率,调用递归求接下来取到红球概率,两...

2019-08-16 15:08:15 373

原创 无重复字符的最长子串 python

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所...

2019-08-15 17:47:21 36

原创 BN层

BN层具体是怎么操作的?比如某层的特征维度是[m,f,p,q],分别是batch_num:m,维度: f,特征尺寸p,q。CNN中可把每个特征图看成是一个特征处理(神经元),因此在使用BN的时候,Mini-batch size的大小就是mpq,对于每一个特征图只有一对科学系的参数。说白了,就是相当于求所有样本(batch_num:m个)所对应的的一个特征图的所有神经元的平均值和方差,然后对这一个...

2019-08-13 11:25:39 1597

原创 链表排序 Python

插入排序class Solution(object): def insertionSortList(self, head): p = new_s =ListNode(None) #插入的有可能在头结点前面 new_s.next = head cur = head while cur and cur.next: ...

2019-08-12 23:07:03 349

原创 leetcode 841 钥匙和房间 python

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

2019-08-12 21:53:00 83

原创 建立二叉树并把二叉树转换为双向链表 python

建立二叉树class TreeNode(object): def __init__(self, val = None): self.val = val self.left = None self.right = NoneA, B, C, D, E, F = [TreeNode(x) for x in range(1,7)]A.left = BA.right = CB.lef...

2019-08-12 16:06:18 104

原创 用蒙特卡罗方法求解圆周率 python

如何用蒙特卡罗方法计算圆周率π。正方形内部有一个相切的圆,它们的面积之比是π/4现在,在这个正方形内部,随机产生10000个点(即10000个坐标对 (x, y)),计算它们与中心点的距离,从而判断是否落在圆的内部。如果这些点均匀分布,那么圆内的点应该占到所有点的 π/4,因此将这个比值乘以4,就是π的值。from random import randomfrom math import...

2019-08-12 12:16:22 893

原创 正方形矩阵顺时针旋转90°+顺时针打印矩阵 python

分圈处理,先打印外圈,在打印内圈def rotate(matrix): tR = 0 tC = 0 dR = len(matrix)-1 dC = len(matrix[0])-1 while tR < dR: rotateEdge(matrix, tR, tC, dR, dC) tR += 1 tC ...

2019-08-12 11:06:38 157

原创 剑指offer:把数组排成最小的数(Python)

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。def strSort(list): if len(list) <= 1: return list left = strSort([i for i in list[1:] if i+l...

2019-08-12 00:17:54 32

原创 区间合并 python

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

2019-08-11 23:09:54 200

原创 电话字母组合+全排列(dfs) python

要求:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:”23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].class Solution(object): def letterCombinations(self...

2019-08-11 21:00:38 90

原创 链表排序 python

创建链表,并按奇偶分开,并排序class ListNode(object): def __init__(self, val): self.val = val self.next = Noneclass Solution(object): def sortList(self, head): if not head or not he...

2019-08-11 17:28:29 539

原创 桶排序\基数排序\ python

1 # 桶排序要求:2 # 有几个输入数据,要求对其进行从小到大或者从大到小进行排序34 # 思路:5 # 首先建立需要的桶,然后每个位置初始化,接着将需要处理的数据根据数值在相应位置设置值为这个值出现的次数6 # 使用字典可能会更好一点,但是字典的排列是无序的,使用键值进行排序的话增加代码量import randomdef buckerSort(alist): _max =...

2019-08-11 10:54:00 55

原创 PR曲线和ROC曲线

ROC曲线和PR曲线均为类别不平衡问题中常用的评估方法。ROC曲线纵坐标是真阳性率(TPR),也就是召回率,横坐标是假阳性率。 TPR = TP/(TP+FN),FPR=FP/(FP+TN),可以看到TPR是关于正例的,来多少正例正确识别的比例,FPR是所有负例中去判断的。所以当正负样本变化时,曲线不会发生太大的变化。1.上文提到ROC曲线的优点是不会随着类别分布的改变而改变,但这在某种程度上...

2019-08-10 17:31:04 128

原创 直观打印二叉树 Python

class Node(object): def __init__(self,val=None): self.val = val self.left = None self.right = None def printTree(root): if not root: return print('Binary...

2019-08-09 12:01:20 142

原创 二叉树先中后序遍历递归非递归 Python

class TreeNode: def __init__(self, val, left=None, right=None): self.val = val self.left = left self.right = rightA,B,C,D,E,F = [TreeNode(x) for x in [1,2,3,4,5,6]]A.l...

2019-08-09 11:18:39 40

原创 机器人的运动范围 python

题目描述:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?class Solution: d...

2019-08-08 22:06:28 195

原创 小根堆 python

两种方式可以建立,一是调用heapq的包from heapq import *arr = [10,20,30,40,2,8,6,4,3,3,3,1,7,5,60]heap = []for i in range(len(arr)): heappush(heap, arr[i])print(heap)二是手动逐个加入建立arr1 = [10,20,30,40,2,8,6,4,3...

2019-08-08 21:23:39 236

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