自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KinectV2获取实时的彩色图像,并显示对应人体骨架(完整含注释C++代码,附C++链接库配置教程)——行为检测研究方向

KinectV2安装教程:https://blog.csdn.net/weixin_44414948/article/details/112346307OpenCV安装配置教程:先占个坑,等会写Demo目标利用KinectV2提供的C++接口,编写代码,获取实时的彩色图像,并显示对应人体骨架。先上完整C++代码(不会配置KinectV2、opencv的C++链接库的读者,可以看下面的链接库配置教程):#include <iostream>#include <opencv2\.

2021-01-08 11:35:00 233 11

原创 python深度学习进阶之行为检测详细学习路线(主要实现人员的行为类别、空间定位、时间定位)

根据个人经验总结的深度学习入门路线(简单快速)https://blog.csdn.net/weixin_44414948/article/details/109704871深度学习入门一阶段demo练习:https://blog.csdn.net/weixin_44414948/article/details/109864551深度学习入门二阶段demo练习:https://blog.csdn.net/weixin_44414948/article/details/110673660在完成入.

2020-12-20 20:13:58 486 8

原创 深度学习入门之二阶段小demo练习:使用numpy手动搭建神经网络(不调用深度学习框架),自定义参数更新等规则实现。

根据个人经验总结的深度学习入门路线(简单快速)https://blog.csdn.net/weixin_44414948/article/details/109704871深度学习入门二阶段demo练习:https://blog.csdn.net/weixin_44414948/article/details/110673660Demo任务:使用numpy手动搭建卷积神经网络(不调用深度学习框架),加深了解CNN底层的卷积运行、参数更新等规则及其实现。数据集:mnist,准确率高于70%.

2020-12-20 18:35:02 72 2

原创 深度学习入门之二阶段小demo练习:使用深度学习框架(tensorflow2.0及以上、pytorch1.0及以上版本)搭建VGG、inception、resnet网络,并同时绘制曲线

根据个人经验总结的深度学习入门路线(简单快速)https://blog.csdn.net/weixin_44414948/article/details/109704871深度学习入门二阶段demo练习:https://blog.csdn.net/weixin_44414948/article/details/110673660Demo任务:使用深度学习框架(tensorflow2.0及以上、pytorch1.0及以上版本)搭建VGG、inception、resnet网络。数据集:mni.

2020-12-04 22:23:53 85 2

原创 深度学习入门之二阶段小demo练习(持续更新系列)

根据个人经验总结的深度学习入门路线(简单快速)https://blog.csdn.net/weixin_44414948/article/details/109704871深度学习深度学习入门之一阶段小demo练习https://blog.csdn.net/weixin_44414948/article/details/109864551最近一直在指导师弟师妹深度学习的入门,在他们完成了一阶段的demo练习后,又布置了以下二阶段demo练习。(主要锻炼他们的神经网络搭建、读取数据集、导出.

2020-12-04 22:07:27 94 3

原创 python利用文件夹下xml格式标签文件批量裁剪出图片中的目标(文件夹、图片名称、目标框数量无限制,逐行注释)

这段时间有个小任务是提取出图片中的手部物体,然后我就用labelimg打标软件给部分图片打了标(生成xml标签文件),顺手写了个小脚本将这些目标从原图中裁剪出来,效果如下所示,感觉还可以。原始图片(实例1):裁剪效果(实例1):原始图片(实例2):裁剪效果(实例2,此处空手为打标,故未裁剪):完整代码本代码针对以下问题均有解决:1、同一xml文件有多个目标框;2、图片和xml文件在不同或相同文件夹下;3、部分图片未打标,对应的xml文件不存在;4、图片文件夹中有非图片(png,

2020-12-03 10:37:15 298 2

原创 pytorch加载自己的数据集,通过读取train.txt、test.txt文件(附数据集txt生成完整代码,注释详细)

pytorch读取指定train.txt、test.txt文件加载自己的数据集txt生成脚本完整代码如下:读取自己的数据集,打乱并划分,生成train.txt、test.txt (每一行为图片的绝对路径+标签,完整代码,注释详细)https://blog.csdn.net/weixin_44414948/article/details/110205546train.txt、test.txt示例如下图所示:先占坑,回去补图import torchfrom torchvision import

2020-11-26 21:48:48 1365

原创 python读取数据集文件下所有文件并打乱划分生成训练测试txt文件(生成train.txt、test.txt,顺序随机,默认比例8:2)

因为每次读取数据集都要写加载代码,十分浪费时间,而我本人又比较懒。故写了个python小工具,一键运行,读取数据集文件下所有文件并打乱划分生成训练测试txt文件(生成train.txt、test.txt,顺序随机,默认比例8:2),十分方便。运行脚本前需要将文件夹整理为这类的形式:root = “C:\Users\hq\Desktop\HoldingObject\pokemon”(记得改为自己的根路径)路径树如下(文件夹、图片数量无限制):—pokemon——0(此处文件夹名为标签)————1

2020-11-26 21:38:31 833

原创 pytorch(1.0以上版本)搭建生成对抗网络(GAN)实现mnist假图片生成,超级简单,附完整代码

pytorch搭建GAN网络生成mnist假图片效果如下图所示:完整代码import osimport torchimport torchvisionimport torch.nn as nnimport torch.optim as optimimport torch.nn.functional as Ffrom torchvision import datasetsfrom torchvision.utils import save_imagebatch_size = 100

2020-11-23 21:37:22 190

原创 深度学习入门之一阶段小demo练习(持续更新系列)

根据个人经验总结的深度学习入门路线(简单快速)https://blog.csdn.net/weixin_44414948/article/details/109704871最近一段时间在指导师弟师妹深度学习的入门,在他们学习了一段时间后,布置了以下demo练习。1:通用调用sklearn的机器学习算法库,在fanwei数据集上实现分类任务,要求使用支持向量机(SVM)分类算法,准确率达到85%以上。fanwei数据集简介:此数据集为课题组人体骨架节点txt文件,共有0、1两种行为标签。较好的实现代

2020-11-20 21:13:42 199

原创 Python深度学习入门学习路线(简单速成不掉头发)

本文Python深度学习入门学习路线为笔者根据自身学习经验整理所得,转载请注明出处、作者。笔者全身心致力于白嫖学习路线,全程不掏一分钱。学习路线注:以下步骤为顺序递进关系,前面的学好之后,后面的学起来会更为轻松。1.深度学习理论(可以先不学,等学会撸代码搭网络之后再补也不迟)推荐教程:吴恩达深度学习理论视频https://www.bilibili.com/video/BV164411b7dx?from=search&seid=17220854142821729200推荐书籍:周志华

2020-11-15 16:29:58 428 5

原创 Python深度学习入门之plt画图工具基础使用(注释详细,超级简单)

Python自带的plt是深度学习最常用的库之一,在发表文章时必然得有图作为支撑,plt为深度学习必备技能之一。作为深度学习入门,只需要掌握一些基础画图操作即可,其他等要用到的时候看看函数API就行。1 导入plt库(名字长,有点难记)import matplotlib.pyplot as plt先随便画一个图,保存一下试试水:plt.figure(figsize=(12,8), dpi=80)plt.plot([1,2,6,4],[4,5,6,9])plt.savefig('./plt_pn

2020-11-15 14:07:41 1519 3

原创 windows+cuda9.2+vs2015编译darknet yolov4
原力计划

笔者环境:win7(8,10也一样)+GT765M+cuda9.2+cudnn7.2.1 (7.6.5也行,不影响)编译步骤:1.在NVIDIA官网搜索并安装自己电脑对应的显卡驱动:附上链接2.安装cuda(推荐安装10.0版本,这样后面有个文件不需要修改了,嘿嘿)cuda安装很多博客都有教程,笔者就不再叙述了。注:cuda和cudnn安装有几个注意事项(1.cuda安装时自定义不要勾选驱动程序;2.cuda的后续更新补丁直接在cuda安装好之后双击安装即可;3.cudnn是直接解压,依

2020-05-12 18:15:18 393 5

原创 数据增强脚本:利用xml标签文件对正样本的目标框位置打上马赛克

用途:将原有正样本的目标打上码变成负样本代码(输入输出文件夹路径改为自己的即可):import cv2import xml.etree.ElementTree as ETimport os img_path = 'C:\\Users\\hq\\Desktop\\pikaqiu_data\\pikaqiu\\'xml_path = 'C:\\Users\\hq\\Desktop\\pikaqiu_data\\pikaqiu_xml\\'mask_img_path = 'C:\\Users\\

2020-05-12 16:57:18 102 3

原创 数据增强脚本:利用正样本和对应xml文件通过随机裁剪(绕过所有目标框)批量生成负样本

正样本图片示例(为正样本文件夹的其中一张,对应的xml目标框label为皮卡丘):示例xml文件内容:上代码(输入输出文件夹改为自己的即可,笔者预设裁剪尺寸为[64, 128, 256, 416, 608],可自定义,但一定要小于图片尺寸):from PIL import Imageimport randomimport xml.etree.ElementTree as ETcount = 0 ##计算生成图片数num=0 ## 现在对哪张图片进行裁剪(图片已经按序号顺序排

2020-05-12 16:47:09 462 3

原创 数据增强脚本:python利用任意尺寸负样本图片批量制作可用于训练的空xml文件

用途:空xml负样本,用于降低目标检测测试过程中的误检率。用法:负样本图片和训练集图片放在同一个文件夹,空xml文件和训练集xml放在同一个文件夹,然后按照正常的目标检测训练流程即可完成训练。附加功能:把原有的label为背景的xml文件替换掉(主要用于比赛数据集中的背景label检索和修改)。上代码(把输入输出文件夹改为自己的即可):import osimport xml.dom.minidomimport cv2 img_path = 'C:\\Users\\hq\\Desktop

2020-05-12 16:32:27 425 3

原创 opencv_python实现批量图片颜色变换,可用于数据增强

变换原理:HSV算法流程:cv2依次读取文件下图片rgb值,再转为hsv,通过改变hsv中的h(即色调)值改变图片的颜色,生成多张颜色变换后的图片(可用于数据增强)。废话不多说,上代码(用的时候记得将两个文件夹路径改为自己的输入和输出路径,文件夹下的图片按1,2,3,…的顺序命名):import cv2num = 0 #读取的图片序号 num_max = 7 #图片总数量hue_change = 5 #色调改变值 步长count = 0 #记录每张图片生成的数量while 1:

2020-05-12 16:07:28 539

原创 后端开发面试必会:数据库基础知识及常见面试问题

1、如何设计一个数据库?分为 8 个模块:1、存储管理,管理存储的数据。2、缓存机制,一次加载多个,增加下次查找的效率。3、sql解析,解析输入的sql语句。4、日志管理,记录数据库的操作。5、权限划分,设定不同用户的不同权限。6、容灾机制,出问题后恢复数据的能力。7、索引管理,优化数据查询效率。8、锁管理,使数据库支持并发操作。注意:索引、索 是面试的重点。2、索引有哪些数据结构?各有哪些优缺点?首先,索引是排好序的数据结构1、二叉搜索树,不适合处理递增的链式数据,深度过大。

2021-03-22 22:49:02 1959 6

原创 个人实习面试经验:字节跳动的实习后端开发Python面试

一面HR问的问题如下:1、自我介绍2、项目介绍:因为我是做视觉算法的,hr不是很懂,就简略地过了。问了一下项目做的软件,数据库啥的。3、Python语法:值传递、指针传递、引用传递(给几行代码让你说结果),生成器、迭代器,类方法和静态方法的区别,列表生成式,迭代生成式。4、数据库、中间件、网络协议:因为我是做视觉,直接就说了不会。。。只知道建表,项目里面用tomcat中间件发布了文件夹。5、手撕代码:(1)链表每k个元素翻转一次,比如{1,2,3,4,5},k=2,翻转后为{2,1,4,3,5}

2021-03-21 12:12:17 1132 6

原创 个人实习面试经验:阿里蚂蚁集团的实习机器学习算法岗面试

一面HR问的问题如下:1、讲讲项目里面用的算法,效果如何。我就讲的时域行为检测,时序卷积,图卷积,目标检测啥的。2、问了一下行为检测算法的细节。比如数据的预处理方法,时域的定位方法,时域定位的误差评估方法,召回率定义等等。3、目标检测算法用的什么框架。yolov3,讲讲它有什么优点,怎么定位的小目标,以及loss的定义式。4、自己经常写一些什么样的代码。我就说从头搭建一个专用目标检测框架,适应项目的需求,然后又问了一些算法的改进问题。5、数据结构,二叉树的遍历、倒转啥的。6、常用的机器学习算法对

2021-03-21 12:06:24 1292 5

原创 开源框架运行报错:str object has no attribute decode,解决方法

我是在配置 MaskR-CNN 的时候遇到这个问题,在下图这个加载预训练模型的时候报错:str object has no attribute decode。经多方百度排查后发现是 h5py 模块版本过高。(报错时我的版本是3.10)解决方法:卸载现有版本再安装一个低版本的h5py即可。卸载:pip uninstall h5py重新安装低版本的:(卸载不了就直接运行这个,源如果没更改的话,建议加上国内源)pip install h5py==2.10 -i https://pypi.tuna

2021-03-16 22:03:46 80 4

原创 机器学习算法岗:常见面试问题及解答整理,持续更新

一、决策树ID3和C4.5的差别?各自优点?首先,要知道 ID3和C4.5 是什么,他们和CART算法都是决策树的启发方法。注:CART利用基尼指数来划分训练子集。基尼指数(基尼不纯度):表示在样本集合中一个随机选中的样本被分错的概率。因为从所有可能的决策树中选取最优决策树,这是一个NP完全问题,很难在多项式时间内求解(或者根本不存在这样的解)。所以现实中决策树学习算法采用启发式方法,近似求解这一最优化问题。所谓的启发式方法就是递归的选择最优特征,并根据该特征对训练数据进行分割。ID3算法:

2021-03-16 10:41:42 114 2

原创 面试必会:剑指offer手撕代码(一):第1~16题,详细题解python代码,建议熟练默写

根据我的大厂面试经验,剑指offer的题一定都要熟练掌握,面试时极有可能让我们手撕部分题的代码,当然这是最简单的情况,像BAT这类的大厂大部分时候让我们手撕 动态规划 题。总之,剑指offer的题目算法思路我们一定要会!!!1、二维数组中的查找题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例1题解python代码:# -*- codi.

2021-03-15 20:02:18 35 1

原创 python小技巧:求32位二进制负数的补码,附剑指offer中的应用

实现方法:先上操作,python里面的负数直接将其和 0xffffffff 进行 与(&) 操作即可得到其补码:def func(n): if n<0: n=n&0xffffffff #这个是python里面的,python和别的语言存储负数的格式有点区别剑指offer例题(应用):题目:输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。题解python代码:class Solution: def NumberOf1(self, n)

2021-03-14 23:40:14 449 3

原创 力扣刷题笔记:331.验证二叉树的前序序列化(二叉树的出度入度知识,必能看懂)

题目:331、验证二叉树的前序序列化序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。例如,上面的二叉树可以被序列化为字符串 “9,3,4,#,#,1,#,#,2,#,6,#,#”,其中 # 代表一个空节点。给定一串以逗号分隔的序列,验证它是否是正确的二叉树的前序序列化。编写一个在不重构树的条件下的可行算法。每个以逗号分隔的字符或为一个整数或为一个表示 null 指针的 ‘#’ 。你可以认为输入

2021-03-12 15:52:41 38 1

原创 力扣刷题笔记:105.从前序与中序遍历序列构造二叉树 && 106.从中序与后序遍历序列构造二叉树(递归,详细注释,对比展示,必能看懂)

105、从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:105、题解python代码:思路:前序遍历的第一个元素肯定是根节点,然后通过找到中序根节点在中序遍历中的位置,就可以判断左右叶子的分布(中序遍历中,根节点左边都是左叶子,后边都是右叶子)。# Definition for

2021-03-12 10:52:34 11 1

原创 力扣刷题笔记:110.平衡二叉树(深度优先搜索dfs,必能看懂)

题目:110、平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。示例 1:输入:root = [3,9,20,null,null,15,7]输出:true示例 2:输入:root = [1,2,2,3,3,null,null,4,4]输出:false示例 3:输入:root = []输出:true提示:树中的节点数在范围 [0, 5000] 内-10^4

2021-03-11 21:39:46 87 4

原创 力扣刷题笔记:96.不同的二叉搜索树(动态规划,详细图解,必能看懂)

题目:96、不同的二叉搜索树给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树:题解思路:1、思路如果整数 1 ~ n 中的 k 作为根节点值,则 1 ~ k-1 会去构建左子树,k+1 ~ n 会去构建右子树。左子树出来的形态有 a 种,右子树出来的形态有 b 种,则整个树的形态有 a∗b 种。以 k 为根节点的 BST 种类数 = 左子树 BST 种类数 * 右子树 BS

2021-03-11 16:27:48 65 5

原创 力扣刷题笔记:227.基本计算器 II(栈来处理运算符的优先级,主要是逻辑思路要清晰,代码很简单,小表弟都看懂了)

题目:227、基本计算器 II给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。示例 1:输入:s = “3+2*2”输出:7示例 2:输入:s = " 3/2 "输出:1示例 3:输入:s = " 3+5 / 2 "输出:5提示:1 <= s.length <= 3 * 10^5s 由整数和算符 (’+’, ‘-’, ‘*’, ‘/’) 组成,中间由一些空格隔开s 表示一个 有效表达式表达式中的所有整数

2021-03-11 10:02:25 58 3

原创 面试必会:二叉搜索树(二叉排序树)构建、插入、验证详细图解,奶奶都看懂了,附二叉搜索树的二种验证方法python代码

1、二叉排序树(Binary Sort Tree)性质:或是一颗空树,或是具有如下性质的二叉树:(1) 若它的左子树不空,则 左子树 上所有结点的值 均小于 它的根结点的值;(2) 若它的右子树不空,则 右子树 上所有结点的值 均大于 它的根结点的值;(3) 它的 左、右子树又分别为二叉排序树 。重要性质:1、二叉排序树的中序遍历输出一定是一个单调递增的序列。2、二叉排序树查找指定数值相当于是一个二分查找。2、二叉排序树举例:下图中的这颗二叉树就是一颗典型的二叉排序树:二叉排序树既

2021-03-10 21:33:44 50 1

原创 面试必会:二叉树的前序、中序、后序遍历,以及利用前中、中后序列重构二叉树,附python实现代码及举例

概念:遍历命名根据访问结点操作发生位置命名:① NLR: 前序遍历(Preorder Traversal 亦称(先序遍历))——访问根结点的操作发生在遍历其左右子树之前。② LNR: 中序遍历(Inorder Traversal)——访问根结点的操作发生在遍历其左右子树之中(间)。③ LRN: 后序遍历(Postorder Traversal)——访问根结点的操作发生在遍历其左右子树之后。遍历算法:1.前序遍历先(根、前)序遍历的 递归算法定义:若二叉树非空,则依次执行如下操作:(

2021-03-10 21:18:05 38 3

原创 力扣刷题笔记:224.基本计算器(利用栈来处理括号的优先级,主要是逻辑思路要清晰,代码逐行注释,小表弟都看懂了)

题目:224、基本计算器实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。示例 1:输入:s = “1 + 1”输出:2示例 2:输入:s = " 2-1 + 2 "输出:3示例 3:输入:s = “(1+(4+5+2)-3)+(6+8)”输出:23提示:1 <= s.length <= 3 * 10^5s 由数字、’+’、’-’、’(’、’)’、和 ’ ’ 组成s 表示一个有效的表达式题解思路:重点:本题目只有 “+”, “-” 运

2021-03-10 10:53:59 65 7

原创 力扣刷题笔记:63.不同路径 II(62.不同路径的加强版,添加了障碍物,还是动态规划,直接套模板,把握好边界即可)

题目:63、不同路径 II一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。示例 1:输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]输出:2解释:3x3 网格的正中间有一个障碍物。从左上角到

2021-03-09 22:18:58 24 1

原创 力扣刷题笔记:62.不同路径(动态规划经典题,直接套模板)

题目:62、不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向下 -> 向下向下 -> 向下 -> 向右向下

2021-03-09 21:20:27 37 3

原创 力扣刷题笔记:22.括号生成(回溯模板题,直接套模板)

题目:22、括号生成数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8题解思路:直接套回溯法模板,再定义个判断括号有效的函数即可。回溯python模板:https://blog.csdn.net/weixin_44414

2021-03-08 21:45:30 44 3

原创 力扣刷题笔记:17.电话号码的字母组合(回溯模板题,直接套模板,另外列出动态规划的写法供大家参考)

题目:17、电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = “23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]示例 2:输入:digits = “”输出:[]示例 3:输入:digits = “2”输出:[“a”,“b”,“c”]提示:0 &l

2021-03-08 21:10:44 60 3

原创 力扣刷题笔记:132. 分割回文串 II(动态规划,逐行代码注释,主要是好理解一些,其他题解根本看不懂。。。)

题目:132、分割回文串 II给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。返回符合要求的 最少分割次数 。示例 1:输入:s = “aab”输出:1解释:只需一次分割就可将 s 分割成 [“aa”,“b”] 这样两个回文子串。示例 2:输入:s = “a”输出:0示例 3:输入:s = “ab”输出:1提示:1 <= s.length <= 2000s 仅由小写英文字母组成注:和131题很像,但用回溯发会超时。。。题解思

2021-03-08 16:11:54 78 3

原创 力扣刷题笔记:131.分割回文串(回溯经典题,直接套模板)

题目:131、分割回文串给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: “aab”输出:[[“aa”,“b”],[“a”,“a”,“b”]]题解思路:看到题目要求「所有可能的结果」,而不是「结果的个数」,一般情况下,我们就知道需要暴力搜索所有的可行解了,可以用「回溯法」。直接套回溯法python模板代码。回溯法python模板套路:https://blog.csdn.net/weixin_44414948/arti

2021-03-07 17:33:29 146 5

原创 面试刷题必会:回溯法详解(python代码模板,学会了秒杀回溯题)

回溯法「回溯法」实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就「回溯」返回,尝试别的路径。回溯法是一种算法思想,而递归是一种编程方法,回溯法可以用递归来实现。回溯法的整体思路是:搜索每一条路,每次回溯是对具体的一条路径而言的。对当前搜索路径下的的未探索区域进行搜索,则可能有两种情况:当前未搜索区域满足结束条件,则保存当前路径并退出当前搜索;当前未搜索区域需要继续搜索,则遍历当前所有可能的选择:如果该选择符合要求,则把当前选择加入当前的搜索路径

2021-03-07 17:01:23 218 1

原创 力扣刷题笔记:66.加一(队列存结果,判断进位符,详细注释,速度超94%)

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

2021-03-05 20:57:16 55 1

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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