自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (2)
  • 收藏
  • 关注

原创 剑指offer_python:按之字行打印二叉树(栈)/把二叉树打印成多行(队列)

给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。# -*- coding:utf-8 -*-# class TreeLinkNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None# self.next = Noneclass Sol

2021-02-16 20:51:14 190

原创 剑指offer_python:二叉树的下一个结点(循环)

给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。# -*- coding:utf-8 -*-# class TreeLinkNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None# self.next = Noneclass Sol

2021-02-16 19:40:43 91

原创 剑指offer_python:对称的二叉树(递归)

请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def isSymmetrical(self, pRoot):

2021-02-16 18:55:20 103

原创 剑指offer_python:二叉树中和为某一路径(广度优先搜索)

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

2021-02-16 17:36:58 72

原创 剑指offer_python:从上往下打印二叉树(数组存储结点)

从上往下打印出二叉树的每个节点,同层节点从左至右打印。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: # 返回从上到下每个节点值列表,例:[1,2,3] def PrintFromTopToBottom(self,

2021-02-16 11:41:25 114

原创 剑指offer_python:二叉树的镜像(递归)

操作给定的二叉树,将其变换为源二叉树的镜像。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: # 返回镜像树的根节点 def Mirror(self, root): # write code here

2021-02-16 11:14:40 107

原创 剑指offer_python:树的子结构(递归)

输入两棵二叉树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):

2021-02-16 10:49:42 75

原创 剑指offer_python:重建二叉树(递归找到左右子树)

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.ri

2021-02-16 10:04:42 139

原创 剑指offer_python:合并两个排序的链表(四个指针)

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。需要四个指针:最终输出、前面指针、两个列表中的指针# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回合并后列表 def Merge(self, pHead1, pHea

2021-02-14 17:58:54 96

原创 剑指offer_python:翻转链表(三个指针)

输入一个链表,反转链表后,输出新链表的表头。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回ListNode def ReverseList(self, pHead): # write code here # 1.将现有的头换成

2021-02-14 17:22:14 102

原创 剑指offer_python:链表中倒数第k个结点(两个指针间隔为K)

输入一个链表,输出该链表中倒数第k个结点。k如果小于链表的长度,我们可以定义两个变量,这两个变量中间间隔为k# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def FindKthToTail(self, head, k): # write code here

2021-02-13 11:19:14 113

原创 剑指offer_python:从尾到头打印链表(用另一个数组存储)

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。用另一个数组进行存储然后就可以打印# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self,

2021-02-13 09:46:28 81

原创 剑指offer_python:栈的压入、弹出序列(压入后循环判断是否需要弹出)

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)# -*- coding:utf-8 -*-class Solution: def IsPopOrder(self, pushV, popV): # write code here

2021-02-12 21:07:17 177

原创 剑指offer_python:包含min函数的栈(定义一个新数组来存放当前最小值)

定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。# -*- coding:utf-8 -*-class Solution: def __init__(self): self.stack = [] self.minValue = [] #用来存储当前最小值 def push(self, node): self.stack.append(node) if self.minVa

2021-02-12 20:29:39 84

原创 剑指offer_python:调整数组顺序使奇数位于偶数前面(冒泡排序)

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。可以采用稳定的冒泡排序方法class Solution: def reOrderArray(self , array ): # write code here n = len(array) for i in range(n): for j in range(n

2021-02-12 18:39:38 281

原创 剑指offer_python:螺旋数组的最小数字(二分法)

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。# -*- coding:utf-8 -*-class Solution: def minNumberInRotateArray(self, rotateArray): # write code here ''' for i in range(0, len(ro

2021-02-12 16:43:27 236

原创 剑指offer_python:用两个栈实现队列(首尾元素通过两数组对调)

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution: def __init__(self): self.acceptStack = [] self.outputStack = [] def push(self, node): self.acceptStack.append(node) # write code here def pop(self):

2021-02-12 15:54:45 106

原创 剑指offer_python:替换空格(replace用法)

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。replace的用法class Solution: # s 源字符串 def replaceSpace(self, s): # write code here return s.replace(' ','%20')新建存储空间class Solution: # s 源字符串 de

2021-02-12 15:33:42 808

原创 剑指offer_python:斐波那契数列/跳台阶/变态跳台阶(循环)

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n≤39# -*- coding:utf-8 -*-class Solution: def Fibonacci(self, n): # write code here ''' 递归会超时,时间复杂度为2^n if n == 0: return 0 if n == 1:

2021-02-12 10:47:58 217

原创 leecode_python简单题:121. 买卖股票的最佳时机

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1

2021-02-09 21:35:26 530

原创 leecode中档题:34. 在排序数组中查找元素的第一个和最后一个位置

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]示例 3:输入:nums =

2021-02-09 20:39:43 84

原创 leecode_python中档题:79. 单词搜索

给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[[‘A’,‘B’,‘C’,‘E’],[‘S’,‘F’,‘C’,‘S’],[‘A’,‘D’,‘E’,‘E’]]给定 word = “ABCCED”, 返回 true给定 word = “SEE”, 返回 true给定 word = “ABCB”, 返回 falsec

2021-02-09 16:50:57 200

原创 leecode_python:11. 盛最多水的容器

给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。即找最小边和最长距离的乘积,因为距离是不断减小的,故更新最短边就可以找到全局最优class Solution: def maxArea(self, height: List[int]) -> int: n

2021-02-09 15:30:03 126

原创 leecode_python中档题:6. Z 字形变换

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);class Solution:

2021-02-09 15:00:41 171

原创 leecode_python中档题:18. 四数之和

给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:[[-1, 0, 0, 1],[-2, -1, 1, 2],[-2, 0, 0, 2]]class So

2021-02-07 17:49:04 187

原创 leecode_python中档题:43. 字符串相乘

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = “2”, num2 = “3”输出: “6”示例 2:输入: num1 = “123”, num2 = “456”输出: “56088”说明:num1 和 num2 的长度小于110。num1 和 num2 只包含数字 0-9。num1 和 num2 均不以零开头,除非是数字 0 本身。不能使用任何标准库的大数类型(比如

2021-02-07 15:29:14 152

原创 python_leecode中档题:29. 两数相除

给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2注意使用二分法运算,减少运算时间class Solution: def divide(self, dividend, divisor): sig =

2021-02-07 11:48:38 155

原创 leecode_python简单题:28. 实现 strStr()

实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba”输出: -1说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问

2021-02-07 09:27:04 134

原创 leecode_python简单题:13. 罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常

2021-02-07 09:09:06 166

原创 leecode_python中档题:17. 电话号码的字母组合

class Solution: def letterCombinations(self, digits: str) -> List[str]: ##递归法 ##特殊情况的处理 if len(digits)==0: return [] res = [] ##输出结果 ##1、定义数字对应的字母 digi_match_alpha = {"2":"abc","3":"def","

2021-02-06 22:38:11 141

原创 leecode_python中档题:48. 旋转图像

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。矩阵反转+对角线倒置class Solution: def rotate(self, matrix): matrix[:] = matrix[::-1] for i in range(len(matrix)): for j in range(i+1,

2021-02-06 19:58:37 123

原创 leecode_python中档题:59. 螺旋矩阵 II

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。class Solution(object): def generateMatrix(self, n): """ :type n: int :rtype: List[List[int]] """ matrix = [] for i in range(n):

2021-02-06 11:30:11 138

原创 leecode_python中档题:54. 螺旋矩阵

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。class Solution(object): def spiralOrder(self, matrix): """ :type matrix: List[List[int]] :rtype: List[int] """ row = len(matrix) if row == 0 or len(matrix[

2021-02-06 10:31:56 145

原创 leecode_python中档题:73. 矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。要注意第一行和第一列置零的技巧class Solution(object): def setZeroes(self, matrix): """ :type matrix: List[List[int]] :rtype: None Do not return anything, modify matrix in-place instead.

2021-02-05 21:37:54 151

原创 leecode_python简单题:88. 合并两个有序数组

给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。class Solution(object): def merge(self, nums1, m, nums2, n): """ :type nums1: List[in

2021-02-05 19:53:22 117

原创 leecode_python简单题:70. 爬楼梯

文章目录一、介绍二、使用步骤1.引入库2.读入数据总结一、介绍在ImageNet上的任务,分类和回归在Pascal VOC上的任务,目标检测二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import ssls

2021-02-05 17:21:13 112

原创 leecode_python:53. 最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。核心思想:设置一个全局变量和一个局部变量,只要前面比零大就可以继续加。class Solution(object): def maxSubArray(self, nums): """ :type nums: List[int] :rtype: int """ if max(nums) <= 0:

2021-02-04 22:53:10 118

原创 leecode_python:58. 最后一个单词的长度

给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。class Solution(object): def lengthOfLastWord(self, s): """ :type s: str :rtype: int """ s = s.strip() if s ==

2021-02-04 22:33:56 116

原创 leecode_python:35. 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。class Solution(object): def searchInsert(self, nums, target): """ :type nums: List[int] :type target: int :rtype: int """ if tar

2021-02-04 21:39:19 125

原创 leecode_python中档题:46. 全排列/47. 全排列 II

给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]class Solution(object): def permute(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ i

2021-02-04 21:22:47 175

缺陷检测数据集并将其加载到VOC

缺陷检测数据集并将其加载到VOC

2021-01-04

电信专业保研个人简历模板(word可编辑)

电信专业保研个人简历模板(word可编辑) 包含教育背景、学术经历、实践经历、荣誉证书、自我评价几部分,内部布局合理,易于编辑。模板简约不张扬,适合作为保研模板使用。最后,希望大家能够去到理想的大学。

2020-04-04

空空如也

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

TA关注的人

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