自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (3)
  • 收藏
  • 关注

原创 马走日问题

了解了八皇后问题之后我们再来看一下大同小异的马走日问题。问题描述:在nm的棋盘中,马只能走"日"字。马从位置(x,y)出发,把棋盘的每一格都走一次且只走一次。找出所有路径。我们以54为例,还是将每个格子都标上数字。每个数字都是两位,十位数字表示该格子所在的行,而个位数字表示该格子所在的列。这个问题同样是两个限制条件:1.每一个格子都走,且每个格子只走一次。2.必须走日字那么什么情况算是走了日字呢?有什么规律吗?1.左下右上横日字跳法(起始方格与终止方格数字之差为8)限制条件找到了,我们还是

2020-06-19 23:01:50 2741

原创 八皇后问题

八皇后问题,是一个古老而著名的问题,问题如下:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。上边是一个8*8的国际棋盘,可以看到棋盘中的每个格子都标有数字。每个数字都是两位,十位数字表示该格子所在的行,而个位数字表示该格子所在的列。这样不难发现,处在同一行的两个格子其十位数都相同,处在同一列的两个格子其个位数都相同,处在同一斜线的两个格子有:|两个数字个位数的差|=|两个数字十位数的差|。主要的三个限制条件明白了,接下来我

2020-06-19 22:49:34 350

原创 剑指offer---删除链表中重复的结点

在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5代码1# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution:

2020-06-19 09:57:52 142

原创 剑指offer---链表中环的入口结点

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。思路:用一个链表来存节点 当发现这个节点已经存过了 则输出该节点# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def EntryNodeOfLoop(self, pHead):

2020-06-18 23:28:21 104

原创 剑指offer---正则表达式匹配

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

2020-06-18 12:00:02 100

原创 剑指offer---构建成绩数组

给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)# -*- coding:utf-8 -*-class Solution: def multiply(self, A): # write code here

2020-06-18 10:54:28 127

原创 剑指offer---数组中重复的数字

在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。# -*- coding:utf-8 -*-class Solution: def duplicate(self, numbers, duplication): # write code here me

2020-06-16 11:57:22 116

原创 剑指offer---把字符串转换成数字

# -*- coding:utf-8 -*-class Solution: def StrToInt(self, s): # write code here if not s: return 0 num = [] for i in s: if i in '0123456789': num.append(ord(i)-48) .

2020-06-16 11:43:25 142

原创 剑指offer---不用加减乘除做加法

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。思路一:直接使用sum函数,注意sum函数输入的是一个列表# -*- coding:utf-8 -*-class Solution: def Add(self, num1, num2): # write code here return sum([num1, num2])思路二首先我们可以分析人们是如何做十进制的加法的,比如是如何得出5+17=22这个结果的。实际上,我们

2020-06-16 09:18:22 98

原创 剑指offer---圆圈中最后剩下的数

题目:每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这样下去…直到剩下最后一个小朋友,可以不用表演,并且拿到牛客名贵的“名侦探柯南”典藏版(名额有限哦!!_)。请你试着想下,哪个小朋友

2020-06-16 09:05:21 96

原创 剑指offer---扑克牌顺子

LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张牌就可以变成“1,2,3,4,5”(大小王分别看作2和4),“So Lucky!”。LL决定去买体育彩票啦。 现在,要求你

2020-06-15 23:32:18 73

原创 剑指offer---丑数

把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。算法:边界条件判断定义三个指针p2,p3,p5分别指向丑数数组中需要乘以2,乘以3,乘以5的位置循环里面 先获得前面的那个丑数再定位p2,p3,p5的位置 再求uglyList[p2]*2, uglyList[p3]*3,uglyList[p5]*5最小值赋给uglyList[i]# -*- coding:utf

2020-06-15 10:59:33 93

原创 剑指offer---第一个只出现一次的字符

在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)代码一# -*- coding:utf-8 -*-class Solution: def FirstNotRepeatingChar(self, s): # write code here if not s: return -1 tmpList

2020-06-12 12:02:12 106

原创 剑指offer---把数组排成最小的数

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。# -*- coding:utf-8 -*-class Solution: def PrintMinNumber(self, numbers): # write code here str_list = [str(num) for num in numbers] #排序

2020-06-12 11:42:51 258

原创 剑指offer---整数中1出现的次数

求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。# -*- coding:utf-8 -*-class Solution: def NumberOf1Between1AndN_Solution(self, n): # wr

2020-06-12 11:33:26 112

原创 剑指offer---连续子数组的最大和

HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)思路:一开始考虑的构建积分图的方法取最大值 此题不适用 要考虑

2020-06-12 11:29:18 75

原创 剑指offer---二叉搜索树与双向链表

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路一:定义一个中序遍历的函数,遍历过程中把所有的节点存到一个列表中对这个存折所有节点的列表遍历让前一个元素的right指向下一个,后一个的left指向前一个# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left =

2020-06-11 11:31:57 81

原创 剑指---offer复杂链表的复制

输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)重点:注意深拷贝和浅拷贝的区别 浅拷贝复制索引就可以,深拷贝要拿到这个节点值重新创建一个节点,并且保证新节点的random和next和源节点一样所以无论使用那种方法在对random进行链接的时候要先判断是否存在,存在的话拿random出来的节点创建一个新结点一切链表的

2020-06-11 10:29:39 105

原创 剑指offer---二叉树的和为某一路径

输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneimport copyclass Solution: #

2020-06-05 11:03:39 75

原创 剑指offer---二叉搜索树的后序遍历

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路:边界条件: 当给的列表为空的时候返回False获得列表最后一个元素为根元素获得第一个大于根元素的索引,记得找到后break出循环index把列表分左右两部分 左边已经判断过都小于根节点了,不用遍历判断 判断右边的列表是否有小于根节点的就返回False这里用一个flag来记录返回值,默认为真 最后用递归循环划分子问题# -*- coding:utf-

2020-06-05 10:32:39 65

原创 剑指offer---从上向下打印二叉树

从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路:定义两个列表ret用来存放最终输出node用来临时存放节点值# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: # 返回从上到下每个节点值列表,例:[1,

2020-06-04 11:16:43 82

原创 剑指offer---栈的压入、弹出

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路一:定义一个临时栈stack 遍历pushV里面的元素写入临时栈判断临时栈的最右面的元素和popV栈的最前面元素是否相等如果相等就把stack最外面的元素弹出并且通过index把popV中的最左侧

2020-06-04 10:58:17 91

原创 剑指offer---包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。思路:定义两个栈,一个stack用来存储数据,另外定义一个栈minstack用来同步存放stack中的最小值,两个栈必须同步,minstack最后的一个元素代表目前stack中最小值是多少,这是一种push栈的过程就记录最小值的方式# -*- coding:utf-8 -*-class Solution:

2020-06-04 10:00:30 87

原创 剑指offer---顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路:定义一个函数可以对矩阵求逆时针方向的转置,即将矩阵逆时针旋转90° 旋转后弹出第一行写入另一个列表中弹出后对剩下的矩阵块做旋转如何对一个二维矩阵旋转:定义一个空列表 每次取矩阵中的一列放到列表中变成了列表中的一行 遍

2020-06-03 14:50:45 115

原创 剑指offer---树的子结构

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def HasSubtree(self, pRoot1, pRoot2):

2020-06-03 10:26:43 72

原创 剑指offer ---两个链表的第一个公共结点

输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)思路一:使用两个头结点遍历所有节点存入两个列表中找出两个列表中第一个重复的元素返回重复的元素# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def FindFirstCommonNo

2020-05-31 17:49:10 67

原创 剑指offer---合并两个排序的链表

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路一:借助列表比较好理解创建两个列表 遍历记录每个节点的val合并一下两个列表,然后做一下排序对排好序的列表每个整形元素创建节点并且存入到一个列表中遍历列表链接各个节点class Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): # write code here if pHead1 == No

2020-05-31 16:10:38 66

原创 剑指offer---链表中的倒数第k个节点

输入一个链表,输出该链表中倒数第k个结点。第一种思路:借助两个指针firstPointer,secondPointer让第一个指针先跑k步 后让第二个指针和第一个指针一直一起跑下去直到第一个指针指向的节点的下一个节点为空if k == 0 or head == None: return None firstPointer = head secondPointer = head for i in rang

2020-05-31 11:49:48 71

原创 剑指offer---反转链表

输入一个链表,反转链表后,输出新链表的表头。思路一:借助列表,遍历节点存入列表然后遍历列表中的节点,使右边一个节点指向左边一个节点if pHead == None or pHead.next == None: return pHead nodeList = [] nodePointer = pHead while nodePointer: nodeList.appe

2020-05-31 11:17:44 75

原创 二叉树

基础知识树(Tree)是一种非线性结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限结点组成一个具有层次关系的集合。树是递归结构,在树的定义中又用到了树的概念。基本术语树结点:包含一个数据元素及若干指向子树的分支;孩子结点(子结点):结点的子树的根称为该结点的孩子;双亲结点(父结点):B结点是A结点的孩子,则A结点是B结点的双亲;兄弟结点:同一双亲的孩子结点;堂兄结点:同一层上结点;结点层次:根结点的层定义为1;根的孩子为第二层结点,依此类推;树的高(深)度:树中最

2020-05-27 11:27:49 149

原创 剑指offer---二叉树的深度

输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 # -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def TreeDepth(self, pRoot)

2020-05-26 20:29:11 74

原创 交叉熵损失函数

2020-05-24 15:29:07 113

原创 剑指offer---构造乘积数组

给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)# -*- coding:utf-8 -*-class Solution: def multiply(self, A): # write code here

2020-05-22 10:13:46 86

原创 pytorch预训练模型总结

https://github.com/pytorch/vision/tree/master/torchvision/models%Resnet: model_urls = { 'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth', 'resnet34': 'https://download.pytorch.org/models/resnet34-333f7ec4.pth', 'resne

2020-05-20 23:30:52 1101

原创 剑指offer---数字在排序数组中出现的次数

统计一个数字在排序数组中出现的次数。# -*- coding:utf-8 -*-class Solution: def GetNumberOfK(self, data, k): # write code here count = 0 for i in range(len(data)): if data[i] == k: count += 1 return count

2020-05-20 12:02:54 69

原创 剑指offer---表示数值的字符串

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。# -*- coding:utf-8 -*-class Solution: # s字符串 def isNumeric(self, s): # write code here if s is None or len(

2020-05-20 11:53:18 98

原创 剑指offer---数组中重复的数字

在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。# -*- coding:utf-8 -*-class Solution: def duplicate(self, numbers, duplication): # write code here me

2020-05-20 11:35:11 82

原创 剑指offer---第一个只出现一次的字符

在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)思路:判断是否为空字符串,是则返回-1定义一个列表用来统计每个字符出现的次数遍历列表找到第一个值为1的位置如果没有值为1则返回-1# -*- coding:utf-8 -*-class Solution: def FirstNotRepeatingChar(self, s): # write

2020-05-19 22:55:40 75

原创 剑指offer---丑数

把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。问题分析:丑数一定是有限个2、3、5的乘积,因为所有的正整数都能分解成1与一个或多个素数的乘积。如果一个数是丑数,那么反复除以2、3、5后,一定会是1;如果一个数不是丑数,那么反复除以2、3、5后,一定还会剩下了一个质数无法被2、3、5整除。编程内容:1、判断一个整数是否是丑数?2、给定区间,输出丑数的个数或丑数

2020-05-19 21:28:38 164

原创 精确率和召回率

准确率:预测的结果中有多少是正确的,即预测结果中,预测正确的和预测错误的之比(预测准不准,查准了多少)召回率:预测结果中预测对的比上样本中所有对的(召回了多少,查全了多少)F-score = (2 * precision * recall) / (precision + recall)准确率和召回率通常是此消彼长的,很多时候用参数来控制,通过修改参数则能得出一个准确率和召回率的曲线(ROC),这条曲线与x和y轴围成的面积就是AUC(ROC Area)。AUC可以综合衡量一个预测模型的好坏,这一个指.

2020-05-19 10:52:41 536

Synthetic Chinese Data数据集百度云盘链接.txt

Synthetic Chinese Data数据集百度云盘

2021-03-09

Synth90k数据集百度云盘链接.txt

完整Synth90k数据集资源,下载可用

2021-03-09

计算机网络:自顶向下方法(原书第6版)——PDF高清扫面版

编辑推荐 《计算机网络:自顶向下方法(原书第6版)》由机械工业出版社出版。 作者简介 作者:(美国)库罗斯(James F.Kurose) (美国)罗斯(Keith W.Ross) 译者:陈鸣 目录 出版者的话 作译者简介 译者序 前言 第1章计算机网络和因特网 1.1什么是因特网 1.1.1具体构成描述 1.1.2服务描述 1.1.3什么是协议 1.2网络边缘 1.2.1接入网 1.2.2物理媒体 1.3网络核心 1.3.1分组交换 1.3.2电路交换 1.3.3网络的网络 1.4分组交换网中的时延、丢包和吞吐量 1.4.1分组交换网中的时延概述 1.

2019-02-16

空空如也

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

TA关注的人

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