![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 74
挡不住三千问的BlueCat
自己的学习经验总结!
展开
-
NMS和Soft-NMS的原理和Pytorch代码实现
NMS都不会,做什么Detection!Non-maximum suppression(非极大值抑制)算法NMS原理:首先得出所有的预测框集合B、 对应框的得分Scores, NMS(IoU)阈值T;定义存放侯选框的集合H(初始为Null), 对Scores排序选出得分最大的框为maxBox,将maxBox从集合B中移到集合H中,集合B中没有maxBox框了;计算maxBox和B中剩余的所有框的IoU, 将IoU大于T的从B中删除(认为和maxBox重叠了);重复2~3步骤,直原创 2021-03-23 01:19:33 · 4498 阅读 · 2 评论 -
子序列 子数组问题 Leetcode
子序列 子数组问题53. 最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。解法1: 贪心法class Solution: def maxSubArray(self, nums: List[int]) -> int: max_sum = nums[0]原创 2021-02-22 09:58:22 · 1653 阅读 · 0 评论 -
回溯 组合 排列 生成 LeetCode
回溯 组合 排列 生成 算法题目77. 组合给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]解法1: 回溯 递归class Solution: def combine(self, n: int, k: int) -> List[List[int]]: if k > n:原创 2021-02-08 13:37:53 · 174 阅读 · 0 评论 -
括号题目 Leetcode
括号系列问题 Leetcode20. 有效的括号给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。解法1:class Solution: def isValid(self, s: str) -> bool: while '()' in s or '[]' in s or '{}' in s: s = s.re原创 2021-02-07 15:23:39 · 537 阅读 · 0 评论 -
网格DFS LeetCode
岛屿问题(DFS)200. 岛屿数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"]]输出:1原创 2021-02-01 18:45:20 · 138 阅读 · 0 评论 -
区间问题 LeetCode
*表示重点复习题,没做出来区间问题1. 56. 合并区间 *给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: intervals = [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: intervals = [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。解法1原创 2021-01-14 15:28:52 · 344 阅读 · 0 评论 -
买卖股票系列问题 Leetcode题目
leetcode 刷题记录一. 买卖股票系列问题1. 121. 买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-原创 2021-01-07 21:27:35 · 475 阅读 · 0 评论 -
回溯法 题目 leetcode
1.22. 括号生成数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]方法1: 回溯法, 学习记忆class Solution: def generateParenthesis(self, n: int) -> L...原创 2020-12-27 16:07:55 · 185 阅读 · 1 评论 -
回文串 leetcode
1.125. 验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false解法1:class Solution: def isPalindrome(self, s: str) -> bool: ss =.原创 2020-12-26 11:11:05 · 111 阅读 · 0 评论 -
B 中等题 LeetCode
中等题 按出题指数排列1.2. 两数相加给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807解法1:...原创 2020-12-26 10:47:51 · 154 阅读 · 2 评论 -
整数问题(求和 拆分 替换等) leetcode问题
1.829. 连续整数求和给定一个正整数N,试求有多少组连续正整数满足所有数字之和为N?示例 1:输入: 5输出: 2解释: 5 = 5 = 2 + 3,共有两组连续整数([5],[2,3])求和后为 5。示例 2:输入: 9输出: 3解释: 9 = 9 = 4 + 5 = 2 + 3 + 4示例 3:输入: 15输出: 4解释: 15 = 15 = 8 + 7 = 4 + 5 + 6 = 1 + 2 + 3 + 4 + 5解法1: 暴力 超时 ????原创 2020-12-14 15:36:14 · 1149 阅读 · 0 评论 -
子序列题目 Leetcode题目
1.53. 最大子序和给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解法1: 贪心法class Solution: def maxSubArray(self, nums: List[int]) -> int: # 最大子序列和, 很重要的一个题; #...原创 2020-12-11 21:35:54 · 203 阅读 · 0 评论 -
字典序 Leetcode题目
1.440. 字典序的第K小数字给定整数n和k,找到1到n中字典序第k小的数字。注意:1 ≤ k ≤ n ≤ 109。示例:输入:n: 13 k: 2输出:10解释:字典序的排列是 [1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9],所以第二小的数字是 10。解法1: class Solution: def findKthNumber(self, n: int, k: int) -> i...原创 2020-12-10 20:33:23 · 153 阅读 · 0 评论 -
动态规划题 leetcode
1.62. 不同路径一个机器人位于一个 m x n网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向右 -> 向下2. 向右 -> 向..原创 2020-12-09 19:53:30 · 793 阅读 · 1 评论 -
二分查找方法 leetcode题
这里用来 记录 使用二分查找方法 的题目1.面试题 10.03. 搜索旋转数组搜索旋转数组。给定一个排序后的数组,包含n个整数,但这个数组已被旋转过很多次了,次数不详。请编写代码找出数组中的某个元素,假设数组元素原先是按升序排列的。若有多个相同元素,返回索引值最小的一个。示例1: 输入: arr = [15, 16, 19, 20, 25, 1, 3, 4, 5, 7, 10, 14], target = 5 输出: 8(元素5在该数组中的索引)示例2: 输入:arr = .原创 2020-12-08 20:02:50 · 444 阅读 · 0 评论 -
BP算法公式推导
令表示第层的第个神经元到第层的第个神经元的连接权值,表示第层第个神经元的输入,表示第层第个神经元的输出,表示层第个神经元的偏置,C表示代价函数,则有:其中,表示激活函数。训练多层网络的目的就是使代价函数C最小化.定义代价函数为:可以看出,这个函数依赖于实际的目标值,可以看成权值和偏置的函数,通过不断的修改权值和偏置值来改变神经网络的输出值.接下来更新权值和偏置:首先定义误差,令表示第层第个神经元上的误差(?),定义为...原创 2020-11-30 15:12:48 · 743 阅读 · 1 评论 -
排序题 LeetCode题
1.1370. 上升下降字符串给你一个字符串s,请你根据下面的算法重新构造字符串:从 s中选出 最小的字符,将它 接在结果字符串的后面。从 s剩余字符中选出最小的字符,且该字符比上一个添加的字符大,将它 接在结果字符串后面。重复步骤 2 ,直到你没法从 s中选择字符。从 s中选出 最大的字符,将它 接在结果字符串的后面。从 s剩余字符中选出最大的字符,且该字符比上一个添加的字符小,将它 接在结果字符串后面。重复步骤 5,直到你没法从 s中选择字符。...原创 2020-11-25 18:10:27 · 113 阅读 · 0 评论 -
贪心算法 leetcode编程题
1.452. 用最少数量的箭引爆气球在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。...原创 2020-11-25 18:05:57 · 137 阅读 · 0 评论 -
844. 比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例 1:输入:S = "ab#c", T = "ad#c"输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = "ab##", T = "c#d#"输出:true解释:S 和 T 都会变成 “”。解法1: 从前向后处理class Solution: def backspa.原创 2020-10-20 21:48:06 · 146 阅读 · 0 评论 -
day7: 剑指 Offer 44. 数字序列中某一位的数字
1.剑指 Offer 44. 数字序列中某一位的数字数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。示例 1:输入:n = 3输出:3示例 2:输入:n = 11输出:0限制:0 <= n <2^31解法1: 做的想哭!class Solution: def findNthDigit...原创 2020-10-08 18:01:51 · 109 阅读 · 0 评论 -
day6: 数组
1.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], ...原创 2020-10-07 22:25:18 · 141 阅读 · 0 评论 -
day 5: 字符串
1.剑指 Offer 38. 字符串的排列输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"]解法1. 递归class Solution: def permutation(self, s: str) -> List[str]: # # 字符串的全排列 resul.原创 2020-09-29 11:44:42 · 304 阅读 · 0 评论 -
第 208 场周赛
1.5523. 文件夹操作日志搜集器class Solution: def minOperations(self, logs: List[str]) -> int: # 栈,先进 后出 zhan = ['main'] for log in logs: if log == './': # 在当前文件夹, 不用作出改变 pass .原创 2020-09-27 14:12:35 · 140 阅读 · 0 评论 -
LCP 18. 早餐组合
小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格。小扣的计划选择一份主食和一款饮料,且花费不超过 x 元。请返回小扣共有多少种购买方案。注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请返回 1示例 1:输入:staple = [10,20,5], drinks = [5,5,2], x = 15输出:6解释:小扣有 6 种购买方案,所原创 2020-09-24 14:03:54 · 155 阅读 · 0 评论 -
day5: 链表
1.剑指 Offer 22. 链表中倒数第k个节点输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.解法1:class ListNode: def __init__(sel.原创 2020-09-23 16:19:40 · 184 阅读 · 0 评论 -
day4: 剑指 Offer 64. 求1+2+…+n
剑指 Offer 64. 求1+2+…+n求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45解法1:class Solution: def sumNums(self, n: int) -> int: # 递归 def getnum(n): ..原创 2020-09-23 14:03:44 · 111 阅读 · 0 评论 -
python 异或的应用
符号 描述 运算规则 & 与 两个位都为1时,结果才为1 (统计奇数) 全1为1 | 或 两个位都为0时,结果才为0 (统计偶数) 全0为0...原创 2020-09-22 21:56:00 · 1651 阅读 · 0 评论 -
剑指 Offer 46. 把数字翻译成字符串
剑指 Offer 46. 把数字翻译成字符串给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"解法1: 递归class Solution: .原创 2020-09-16 16:50:04 · 86 阅读 · 0 评论 -
剑指 Offer 59 - II. 队列的最大值
剑指 Offer 59 - II. 队列的最大值请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value需要返回 -1示例 1:输入: ["MaxQueue","push_back","push_back","max_value","pop_front","max_value"][[],[1],[2],[],[],[]].原创 2020-09-16 15:19:35 · 195 阅读 · 0 评论 -
day3: 剑指 Offer 48. 最长不含重复字符的子字符串
剑指 Offer 48. 最长不含重复字符的子字符串请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。 ...原创 2020-09-15 18:45:46 · 184 阅读 · 0 评论 -
梯度消失和梯度爆炸原因及其解决方案
梯度消失和梯度爆炸原因及其解决方案原创 2020-09-08 10:14:00 · 125 阅读 · 0 评论 -
day2:215. 数组中的第K个最大元素 快速排序 python代码
"""快速排序思想: 基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。"""# 方法1: 递归def partition(arr, first, end): i, j = first, end while i < j: while i < j and arr[i] <= ..原创 2020-09-07 16:17:55 · 209 阅读 · 0 评论 -
感受野的计算方法
卷积神经网络基础题——如何计算多层卷积、池化网络每一层的感受野(Receptive Field)?原创 2020-09-06 23:25:53 · 175 阅读 · 0 评论 -
求正整数的平方根
"""求正整数的平方根。二分查找"""def sqrt(val, t): if val < 0 or t < 0: return 0 left = 0 right = val mid = (left + right) / 2 offset = 2 * t while offset > t: temp = mid * mid if temp > val: .原创 2020-09-05 15:48:38 · 742 阅读 · 0 评论 -
day1: 二叉树
1.二叉树的层序遍历给你一个二叉树,请你返回其按层序遍历得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]方法1:# Definition for a binary tree node.class TreeNode: def __init_...原创 2020-09-05 13:29:39 · 228 阅读 · 1 评论 -
day1: 357. 计算各个位数不同的数字个数
给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n。示例:输入: 2输出: 91解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外,在 [0,100) 区间内的所有数字。计算各位数字都不同的数字x的个数, 初始看到题 有点懵, 没审清楚题目;方法1: 排列组合方法n=0: 1n=1: 10 (一个位置, 10个数)n=2: 9*9n=3: 9*9*8 (三位数时, 第一位数 可选数字 ...原创 2020-09-05 10:50:39 · 206 阅读 · 0 评论 -
构建副对角线全为1的矩阵,
突然用到 副对角线 全为1的矩阵, 不知道怎么调用numpy, 自己写了一个:import numpy as np# 副对角线 全为 1def get_subdiag(n, value): ar = [] for i in range(n): a = [] for j in range(n): if i + j == n - 1: a.append(value) else原创 2020-09-04 20:33:32 · 5101 阅读 · 0 评论 -
python 调试 PDB
https://aistudio.baidu.com/aistudio/projectdetail/69987原创 2020-07-27 18:45:22 · 87 阅读 · 0 评论 -
Ubuntu matplotlib 中文乱码问题
1. 下载字体 Microsoft YaHei, 放到 matplotlib库文件夹字体下: /lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/自己的机器上路径,自己更改. 字体下载:https://github.com/tracyone/program_font/blob/master/YaHei Consolas H...原创 2020-04-20 18:02:18 · 299 阅读 · 0 评论 -
从UV位置图获得3D人脸
1. 这部分主要写从UV位置图获得3D人脸,并不包括如何产生UV位置图。我已经获取一张图片的UV位置图,如下图:(a. 裁剪后的人脸区域) (b. UV位置图 (仅用来展示的)) (c. UV纹理图)a, b, c 三张图片shape都是(255, 255, 3) , UV位置图 b 并不是真正的...原创 2020-03-23 14:02:00 · 4056 阅读 · 8 评论