自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (1)
  • 收藏
  • 关注

原创 密码截取——动态规划

HJ32 密码截取解析:这道题很明显是求回文子串的问题,跟之前leetcode上面的求回文子串个数很像。用dp[i][j]数组表示索引从i~j的位置能否形成回文子串,i,j的推导需要从i + 1,j - 1处推得,故i从后遍历,j从前遍历。如果是s[i] != s[j],则不可能形成回文子串。如果s[i] == s[j],且i和j相等(一个元素)或者i和j相邻,中间无元素,是回文子串,长度为2。如果中间还有其他元素,则判断中间元素是否是回文子串。# pythona = input()dp = [[

2022-04-18 22:58:51 645

原创 HJ24 合唱队——动态规划

HJ24 合唱队解析:这道题可以参考该视频的思路,使用left和right数组记录元素i左边递增的元素个数和右边递减元素的个数。left和right数组的值由前面的状态推出,如果i比前面的某一元素ii大,则left[i] = max(left[i], left[ii] + 1),最后只需把left和right加起来减一即是合唱队剩余人数。注意:这道题在牛客上用python运行显示超时,用Java可以通过。# pythonn = int(input())list = [] left = [1]

2022-04-17 17:49:31 1694

原创 最大子矩阵和

最大子矩阵和已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。 比如,如下4 * 4的矩阵 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 的最大子矩阵是 9 2 -4 1 -1 8 这个子矩阵的大小是15。解析:这道题目参考此视频的思路,这里用了三层循环,用辅助矩阵a来记录这一行中,从1-i所有位置的和,计算i~j列的和只需要用a[j] - a[i - 1],减少计算i~j列的和这一层循环。实际是使用了枚举+贪

2022-04-16 17:23:05 594

原创 动态规划——购物单

HJ16-购物单这是一道典型的0-1背包问题,一开始的反应就是外层循环正向遍历物品,内层循环反向遍历背包容量。但由于物品增加了附件这一属性,使得这道题难度增加了不少,可以参考该视频处理物品的思路,每个物品用长度为6的数组来分别保存索引为i的物品主件价格,主件价值,附件1价格,附件1价值,附件2价格,附加2价值。对物品的处理弄明白了,其他地方跟之前做过的0-1背包问题都差不多了。# pythonmoney, n = map(int, input().split(" "))# dp[j] 表示mone

2022-04-15 22:10:57 858 1

原创 leetcode刷题(单调栈)

通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了,时间复杂度为O(n)。每日温度给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指在第 i 天之后,才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。示例 1:输入: temperatures = [73,74,75,71,69,72,76,73]输出: [1,1,4,2,1,1,0,0]

2022-04-08 17:54:10 286

原创 leetcode刷题(贪心算法)

贪心的本质是选择每一阶段的局部最优,从而达到全局最优。例如,有一堆钞票,你可以拿走十张,指定每次拿最大的,最终结果就是拿走最大数额的钱。每次拿最大的就是局部最优,最后拿走最大数额的钱就是推出全局最优。反例:有一堆盒子,如何把体积为n的背包尽可能装满,如果还每次选最大的盒子,就不行了。这时候就需要动态规划。想清楚局部最优,想清楚全局最优,感觉局部最优是可以推出全局最优,并想不出反例,就先试一试贪心。分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。

2022-03-28 13:03:45 814

原创 SpringBoot端口号被占用,微服务启动失败解决办法

问题描述之前在IDEA打开一个分布式项目,没有将启动的springboot微服务停掉就直接打开了另一个项目,在启动微服务的时候发现所有的微服务都启动失败。问题分析查看错误信息发现是端口被占用的问题。解决办法查看占用程序的pidnetstat -ano | findstr "被占用的端口号"结束该进程taskkill /pid "进程号" /f ...

2022-03-26 11:09:58 822

原创 SSM整合SpringSecurity,报错 no ContextLoaderListener or DispatcherServlet registered解决办法。

问题描述在SSM项目中整合SpringSecurity之后,启动tomcat弹出的页面就会出现报错,开发环境为IDEA,报错信息如下:对于整合SpringSecurity,解决找不到bean的方式有两种,修改源码和整合Spring和SpringMVC的IOC容器。我使用的是将两个IOC容器二合一的方式,结果就报了上面的错误。原因分析检查一下web.xml的配置文件,所有的配置文件都交给MVC来扫描了,究其原因,可能是没成功把springmvc放进IOC容器里。在检查所有的配置都没问题的情况下,怀疑

2022-03-14 11:55:53 1018

原创 leetcode刷题(回溯算法)

组合给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。示例 1:输入:n = 4, k = 2输出: [ [2,4], [3,4], [2,3], [1,2], [1,3],[1,4], ]# pythonclass Solution: def combine(self, n: int, k: int) -> List[List[int]]: res = [] .

2022-02-06 11:22:52 928

原创 MySQL安装与配置

1.下载从MySQL官网下载,可以选择.exe方式安装,该方式有可视化界面,可以在安装的时候按照步骤进行设置,这里介绍的是使用压缩包进行安装的方式。MySQL5.7 64位下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-winx64.zip下载后,解压到自己的环境目录下,我的是:D:\Environment\mysql-5.7.19\2.添加环境变量我的电脑->属性->高级->环境变量选择path

2022-02-03 10:58:32 1010 1

原创 leetcode刷题(二叉树)

二叉树的前序遍历# python# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = right

2021-12-25 10:04:06 137

原创 leetcode刷题(栈与队列)

用栈实现队列请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek()返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from to.

2021-11-16 09:23:57 210

原创 leetcode刷题(双指针法)

双指针法的题目大部分在前面数组和链表部分都做过了,这里只放对应的leetcode链接,打开就能看到自己前面写过的代码,当作复习。移除元素删除有序数组中的重复项移动零比较含退格的字符串有序数组的平方长度最小的子数组水果成篮最小覆盖子串反转字符串替换空格翻转字符串里的单词反转链表删除链表的倒数第N个结点链表相交环形链表II三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为

2021-11-05 15:42:07 88

原创 leetcode刷题(字符串)

反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]# pythonclass Solution:.

2021-11-04 23:26:48 535

原创 leetcode刷题(哈希表)

当我们遇到要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。如果题目遇到需要判断一个元素是否出现过的场景应该第一时间想到哈希法。有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false

2021-10-27 18:49:59 163

原创 leetcode刷题 (链表)

移除链表元素给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1输出:[]示例 3:输入:head = [7,7,7,7], val = 7输出:[]# python# Definition for singly-linked.

2021-10-23 22:35:11 149

原创 leetcode刷题 (数组——双指针)

移除元素移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:输入:nums = [3,2,2,3], val = 3 输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。例如

2021-10-08 21:13:24 311

原创 leetcode刷题 (数组——二分查找)

二分查找二分查找给定一个 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,12], target = 2 输出: -1解释: 2 不存在 nums 中因此返回 -1#

2021-09-18 15:12:03 480

原创 用python将多张图片拼接成一张

将需要拼接的图片路径写在对应的img_path,比如有6张,通过hstack和vstack函数将图片拼接在一起。resize尺寸可以根据具体图片大小更改,拼接后的图片效果如下:图片1图片2图片3图片4图片5图片6代码如下:import cv2import numpy as npimg1_path = r"C:\Users\user\Desktop\picture\old\07724.jpg"img2_path = r"C:\Users\user\Desktop\

2021-09-08 11:43:08 10287

原创 单机多GPU训练神经网络模型

在拥有多卡的GPU服务器上面跑程序的时候,当迭代次数或者epoch足够大的时候,我们可以使用nn.DataParallel函数来用多个GPU来加速训练。比如我们现在搭了一个目标检测的模型,以YOLOv4为例,下面代码参考Github上面的开源代码,换成其它网络也一样。YOLOv4网络模型import mathfrom collections import OrderedDictimport torchimport torch.nn as nnimport torch.nn.functiona

2021-09-07 22:25:55 582

原创 算法进阶 笔记2 (动态规划)

从斐波那契数列看动态规划斐波那契数列:0、1、1、2、3、5、8、13、21、34、……# 子问题的重复计算def fibnacci(n): if n == 1 or n == 2: return 1 else: return fibnacci(n-1) + fibnacci(n-2)# 动态规划(DP)的思想 = 最优子结构(递推式)+ 重复子问题def fibnacci_no_recurision(n): f = [0,1,1] if n > 2: for i i

2021-08-10 16:12:41 83

原创 python:local variable ‘XXX‘ referenced before assignment的解决办法

问题描述我们有时候会定义一个全局变量,然后在函数里面引用它,并改变它的值,这时候会报以下的错误:UnboundLocalError:local variable 'XXX' referenced before assignment只在函数里面引用外面定义的变量而不改变它的值不会报错,如果要改变外面定义的变量的值则需要用到全局变量。解决办法:在函数开头用global引用全局变量,即可引用全局变量并对它进行修改:best_mAP=0def train() global best_mAP mA

2021-07-09 21:58:38 3675

原创 ctrl+s 屏幕锁定的问题

问题描述我们经常会在修改代码和在linux服务器终端调试程序之间来回切换,经常会碰到误按 ctrl+s 把屏幕锁定的情况。比如我们修改完代码后没保存,鼠标点到了终端窗口,我们以为还在代码编辑器窗口,想用ctrl+s来保存代码却不小心把终端屏幕锁定,输入什么都没反应,还以为电脑卡住了。问题解决简单的按下 ctrl+q 就能解锁,这时候在终端输入命令就又可以显示了。...

2021-07-09 21:45:35 320

原创 跨服务器复制文件scp解决办法

问题描述:有的时候我们需要将其中一台服务器的文件复制到另一台服务器上去,这时候我们可以用scp命令来实现解决办法:输入以下代码实现跨服务器复制文件:scp -r local_folder remote_username@remote_ip:remote_folder...

2021-07-08 20:44:00 334

原创 服务器无进程显存占用解决办法

问题描述:前段时间在服务器上一跑程序就报显存,用watch -n 1 nvidia-smi查看内存占用情况发现10几G的显存已经被占用了好几G,但是下面有没有看到正在跑的进程。Processes PID那里显示No running processes found,无法通过kill + 进程号PID来删除。解决办法:使用如下命令查看进程:fuser -v /dev/nvidia*把这些进程全部 kill 掉,-9后面的数字是对应的PID号kill -9 15142 15143 15144

2021-07-06 09:38:26 1889

原创 算法进阶 笔记1 (贪心算法)

贪心算法贪心,顾名思义就是只考虑当前的利益,关注的是局部最优解。1、找零问题要找零376,贪心算法先从最大面额的100开始找,找不开再接着50,以此类推。t = [100, 50, 20, 5, 1]def change(t, n): m = [0 for _ in range(len(t))] for i, money in enumerate(t): m[i] = n // money n = n % money return m, nprint(change(t, 3

2021-07-01 11:33:11 128

原创 数据结构 学习笔记4(AVL树)

二叉搜索树的效率AVL树所谓平衡的意思就是左右子树的高度相差不能超过1,我们引入平衡因子的概念,定义平衡因子数值为左边的高度减去右边的高度,所以平衡因子都为-1,0,1的树就是平衡的。...

2021-06-30 10:14:36 111 1

原创 paddleDetection框架如何将模型预测结果保存成json文件

之前我用mmdetection的时候,发现自带的脚本可以把预测结果转为json文件。前面我也用的yolov4代码只用了pytorch框架,根据预测代码修改了一份将模型预测结果保存成json文件的代码。具体参考我的这篇博客将yolov4预测结果保存为json文件。最近我学了一下paddleDetection框架,里面集成了很多常用的网络模型,用起来很方便,但是我想将模型预测出来的bbox结果保存成json文件,找了一下官方文档,似乎没找到已经写好的脚本,所以我又根据tools/infer.py以及它所引用的

2021-06-27 09:45:07 3822 6

原创 数据结构 学习笔记3(树、二叉树、二叉搜索树)

树与二叉树在算法的堆排序那里讲过树相关的一些概念,这里再回顾一下。节点的度为其孩子节点的个数,即节点分了几个杈。一棵树中,最大的节点的度称为树的度。树的实例——模拟文件系统class Node: def __init__(self,name,type='dir'): self.name = name self.type = type # "dir" or "file" self.children = [] self.parent = None # 链式存储 def __

2021-06-10 16:22:41 126

原创 树莓派实现人脸识别打卡系统(无需编译安装opencv)

前几天想用树莓派做一个人脸识别打卡的系统,在网上也找了很多源码,最终选了一个较为简单的实现方式,代码参考这里。其中只用到opencv和opencv-contrib两个库,在自己笔记本上先调试了一波,报错了,说是cv2.cv2缺少’face’属性。问题:缺少opencv-contrib去网上查了一下,这是没装opencv-contrib的原因,用pip install opencv-contrib装好后,就能全部跑通了。本以为只要在树莓派上装上这两个库,接个USB摄像头应该很快搞定,没想到中间遇到了不少坑

2021-06-10 09:57:19 1470 3

原创 数据结构 学习笔记2(链表、哈希表)

链表创建列表头插法创建新的节点,指向head节点,head指针重新指向插入的节点。尾插法不仅要考虑头节点,也要考虑尾节点,尾节点的next指针指向新插入的节点,尾节点的指针指向插入的节点。链表的遍历先判断链表lk是否为空,输出lk.item,然后指向下一个节点,以此遍历链表。# linklist.pyclass Node: def __init__(self, item): self.item=item self.next=Nonedef create_linklis

2021-06-09 16:26:07 189

原创 用python实现黑客帝国数字雨效果

代码实现:import random,pygamedef shuzi(): FONT_PX = 15 pygame.init() winSur = pygame.display.set_mode((500, 600)) font = pygame.font.SysFont('fangsong', 20) bg_suface = pygame.Surface((500, 600), flags=pygame.SRCALPHA) pygame.Surface.

2021-06-07 08:53:18 740

原创 栈和队列的应用(迷宫问题)

栈和队列的应用(迷宫问题)栈——深度优先搜索一条路走到黑,假设我们规定判断的方向为上,右,下,左。从起点开始,判断能走的方向,一直走到没有路可以走了,这时,将走过的路径上所有点的坐标存放进一个栈里面,执行一次出栈操作,判断后退一步后的位置是否有路可走,没有则继续出栈。如果栈空,则说明没有可以抵达终点的路径。否则一直走到达终点,栈内的元素组成了能走出迷宫的路线。但是使用栈实现的迷宫问题有一个缺点,它的路线不一定是最短的。代码实现:maze = [ [1, 1, 1, 1, 1, 1, 1

2021-06-05 17:21:33 2492

原创 数据结构 学习笔记1(列表、栈、队列)

数据结构数据结构的分类数据结构有逻辑结构和物理结构,物理结构就是在计算机中如何表示的,这里我们只关注逻辑结构。树结构只能从父节点指向孩子结点,如果将孩子结点指向上级的结点就构成了图结构,图结构是多对多的关系。...

2021-06-04 21:14:57 97 1

原创 PaddleDetection使用教程

详细的使用教程可以参考官方文档一、安装说明在安装PaddleDetection之前要先安装依赖项PaddlePaddle,你可以将其看作一个内核,有了它才可以安装PaddleDetection。首先,我们可以新建一个虚拟环境,命名为paddle,并激活环境。conda create -n paddle python=3.7conda activate paddle安装pp-yolo网络需要用到的库函数。pip install opencv-python==4.2.0.34 Cython m

2021-06-03 09:50:41 12793 4

原创 python -c 命令与python -m 命令的用法

python -c 命令python的 -c 可以直接在命令行中调用 python代码, 实际上 -c 就是 command 的意思。简言之就是 python -c 可以在命令行中执行 python 代码, 跟把代码放置在 .py 文件中,然后运行这个文件是一样的效果。python -c "print('TYXC')"注意,如果括号里面也用双引号的话会报错。python -c "print("TYXC")"我们一般使用三引号来标示需要执行的代码:python -c '''print("T

2021-06-02 16:09:40 7136 2

原创 计算机视觉领域不错的博客

苏剑林 科学空间|Scientific Spaces文章非常有思考性,看完经常有醍醐灌顶之感。张俊林 深度学习前沿笔记文章写的深入浅出,贯通古今,能把一整个领域串起来写,让人看的爱不释手。Naiyan Wang Winsty的技术碎碎念计算机视觉领域知识分享做的最好的当属王乃岩,可以以点带面地把一个技术痛点讲透彻。mileistone mileistone文章mileistone更贴近平时的计算机视觉算法人员,从理论到实践,细细体会理解计算机视觉的奥妙,并能表达出自己独到的理解。陀飞轮 Sm

2021-06-02 15:45:41 65 1

原创 AI打游戏(DL基础)pytorch框架学习笔记

处理数据假如我们要处理的数据有10000张图片,我们既不能一次传进去一万张,这样显存会爆掉,也不能一次只传一张,这样效率太低了。所以我们需要把所有图片分批传进来,比如分100个batch,每个batch里面有100张,也就是batch_size=100。我们训练神经网络的时候并不是把所有数据丢进去训练一轮就行了,而是要反复丢进去学习几轮,这个轮数就叫epoch。计算机视觉方向经常处理的数据是图片,那么我们处理数据后得到的是图片以及它的标签,再将Image+label传入神经网络进行训练。下面我们用伪.

2021-05-31 21:58:47 1242 2

原创 报错:OMP Error #15 Initializing libiomp5md.dl 解决办法

问题描述在使用LeNet网络进行人名币二分类,并将训练结果绘制成折线图答应出来,发现报了下面这个错误。解决方法在代码开头加入以下代码,允许副本存在,即可解决问题。import osos.environ['KMP_DUPLICATE_LIB_OK']='True'...

2021-05-31 20:56:56 534

原创 查找排序部分习题

查找排序相关面试题先将字符串转成列表,默认一个字母为一个元素,对s和t进行排序,判断排序后的列表是否相等。class Solution(object): def isAnagram(self, s, t): """ :type s: str :type t: str :rtype: bool """ ss = list(s) tt = list(t) ss.sort(

2021-05-30 11:08:26 81

爱心源码 python 爱心源码 python

爱心源码 python 爱心源码 python

2022-12-06

MAYA7.0安装程序.rar

MAYA7.0安装程序

2021-10-08

空空如也

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

TA关注的人

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