自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奥古斯都

一万年太久 只争朝夕

  • 博客(35)
  • 收藏
  • 关注

原创 Pyroch损失函数之BCELoss

这也是最近在做的一个模型中的损失函数,所有就一探究竟了解一下这个函数。首先它是一个二分类损失函数。可以是单标签的损失函数也可是多标签的损失函数。1、单标签这个图像是不是猫:1代表是,0代表不是。这就是单标签的二分类问题。2、多标签和单标签一样,不过这个是多标签而已,所以它的label就是[1,1]。第一列代表有没有狗,第二列代表有没有猫。所以也称之为二进制交叉熵。3、BCELoos损失函数class torch.nn.BCELoss(weight: Optional[to.

2020-07-02 15:46:28 19013 8

原创 面试题 08.03. 魔术索引

魔术索引。 在数组A[0...n-1]中,有所谓的魔术索引,满足条件A[i] = i。给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。示例1: 输入:nums = [0, 2, 3, 4, 5] 输出:0 说明: 0下标的元素为0示例2: 输入:nums = [1, 1, 1] 输出:1所谓的魔术索引就是A[i]=i;直接遍历给定的数组,如果有魔术索引直接返回,如果没有直接返回-

2020-07-31 16:12:58 55

原创 动态规划:343.整数拆分

给定一个正整数n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 ×3 ×4 = 36。1、题目分析拿到题目一看,肯定是动态规划的思想。分为两种情况:将i拆成j和i-j。将j固定,然后分类讨论(i-j);如果i-j是不可再分的:dp[i] = j*(i-j),如果(i-j)还...

2020-07-30 21:27:39 156

原创 指定使用哪块GPU运行程序

情景:加入实验室有8块卡,前7块卡已经呗占用了,如果我们需要运行程序,肯定会错,错误如下:Traceback (most recent call last): File "train.py", line 182, in <module> fasterRCNN = vgg16(classes, pretrained=True, class_agnostic=args.class_agnostic) File "/home/lthpc/lw/WeaklyObjectDetect

2020-07-29 22:06:44 2600

原创 镜像二叉树:剑指 Offer 27. 二叉树的镜像

请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:4/ \2 7/ \ / \1 3 6 9镜像输出:4/ \7 2/ \ / \9 6 31示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]1、题目分析什么是镜像二叉树,就是交换每一个节点的左右子树,重构的二叉树就称之为原二叉树的镜像。遇到树的问题,两种解法...

2020-07-29 21:21:14 81

原创 二叉树的遍历:104.二叉树的最大深度

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 71、题目分析题目比较简单,就是求一个二叉树的最大深度。二叉树的深度是从根节点到叶子节点的最大层数。所以想到两个方法:1、递归的遍历左右两个二叉树;2、采用层次遍历的方法;记录访问的层数,就是二叉树的最大深度。2、..

2020-07-28 16:15:23 181

原创 双指针:392.判断子序列

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1:s = "abc", t = "ahbgdc"返回true.示例2:s = "axc", t = "...

2020-07-27 17:46:20 105

原创 动态规划:剑指 Offer 49. 丑数

我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。1、题目分析动态规划真的就很懵,这个题目是求前n个丑数,只包含质因子2、3、5的数就称之为丑数。,这样的数我们把它称之为丑数,也就是只能拆分成2、3、5的乘积,第一个丑数就是1,我们采用动态规划的方法去做,因为最终的结果要求是从小到大,所以我们不得不

2020-07-27 17:37:58 95

原创 小游戏:1025. 除数博弈

爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字N。在每个玩家的回合,玩家需要执行以下操作:选出任一x,满足0 < x < N 且N % x == 0。用 N - x替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回True,否则返回 false。假设两个玩家都以最佳状态参与游戏。示例 1:输入:2输出:true解释:爱丽丝选择 1,鲍勃无法进行操作。输入:3输出:...

2020-07-24 20:30:15 105

原创 动态规划之最小路径:64.最小路径

给定一个包含非负整数的mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。1、题目分析从左上角走到右下角,然后每次只能向下或者向右走一步,最后得到一条最短路径,很显然典型的动态规划问题。2、解题分析动态规划 初始化一个dp数组,和给定数组一样大小,dp[0][0]...

2020-07-23 20:36:02 328

原创 有序数组的二分查找:剑指 Offer 11. 旋转数组的最小数字

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:01、题目分析给定一个数组,然后将数组进行旋转,数组肯定是分为两部分,两个部分都是升序的。所以找到旋转的那个数字,也就是数组中最小的数字。三种方法:1、min函数取数...

2020-07-22 21:11:50 75

原创 解决 cannot create temp file for here-document:No sapce left on device

1、问题发现我要进一个文件夹,然后Tab键进行补全,然后呢就显示:2、解决问题查看磁盘文件发现根目录爆满然后进入根目录,查看那个文件占的内存比较多,cd /du -sh *我查看之后是/var文件下的下的log日志文件比较多,删除以后就可以了,删除的文件是error_log删除之后发现还是根目录还是爆满的,然后查看被删除的文件;(僵死文件。这些文件实际上已经被删除,但是有服务程序在使用这些文件,导致这些文件一直被占用,无法释放磁盘空间,使用如下命令可以查看死文..

2020-07-21 21:33:34 1343

原创 二分查找:167. 两数之和 II - 输入有序数组

给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1,...

2020-07-20 20:23:45 136

原创 从Xception网络中聊聊深度可分离卷积

Xception: Deep Learning with Depthwise Separable Convolutions,在这篇文章中应用了深度可分离卷积。对于卷积来说可以看作三维的滤波器:通道维度+空间维度,常规的卷积就实现空间相关性和通道相关性。传统的卷积就是把所有通道当作一个整体来进行卷积,而在Xception文章中把通道数进行分组然后再卷积,然后再联合。这幅图和Xception最接近,先进行1*1的卷积,然后再每个通道上进行3*3的卷积。将这个结果Concat起来就是卷积的结果,当然这也是

2020-07-20 17:35:40 656

原创 击鼓传花(详细图解):剑指 Offer 62. 圆圈中最后剩下的数字

0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出: 3示例 2:输入: n = 10, m = 17输出: 21、题目分析把0~n-1的数字围成一个圈圈,然后从0开始删除第m个数字,然后再从m之后的那个数字开始新一

2020-07-17 16:50:56 626

原创 二分查找(模板):35. 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 11、题目分析很简单的一个二分查找的问题,但是题目加了一个额外的条件;如果目标值不存在那就找出插入的位置。所以如果查到存在值就返回,如果查不到就返回左指针的下标。举个例子:查找元素是4,[1,3,5,6]left=0,righ

2020-07-17 16:34:23 111

原创 染色问题:785. 判断二分图

给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边:graph[i]中不存在i,并且graph[i]中没有重复的值。示例 1:输入: [[1,3], [0,2], [1,3], ..

2020-07-16 16:08:07 181

原创 剑指 Offer 65. 不用加减乘除做加法

写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。示例:输入: a = 1, b = 1输出: 2不让用四则运算,那肯定就是与或运算,但是还是没看明白,直接背下来算了。class Solution: def add(self, a: int, b: int) -> int: while a!=0: temp = a^b a = (a & b)<&l

2020-07-16 15:48:13 67

原创 卡塔兰数:96. 不同的二叉搜索树

给定一个整数n,求以1 ...n为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2...

2020-07-16 11:28:18 114

原创 《Leetcode》120. 三角形最小路径和

给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。1、题目分析最小路径和,很明显这就是一道动态规划的问题,那么肯定要找动态规划方程f[i][j]表示在(i,j)位置

2020-07-14 21:12:08 79

原创 动态规划:剑指 Offer 47. 礼物的最大价值

在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例 1:输入: [ [1,3,1], [1,5,1], [4,2,1]]输出: 12解释: 路径 1→3→5→2→1 可以拿到最多价值的礼物1、题目分析这是一道非常典型的动态规划问题,拿到礼物的方向有两个:向右,向下。因此用f[

2020-07-14 19:53:03 111

原创 《Leetcode》350. 两个数组的交集 II

这个题目是两个数组I的升级版本。它需要计算出交集的具体个数。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]4种解法:两个hash表 对两个列表都生成一个hash表,分别是res1,res2 遍历res1,如果res1key在res2中,比较两个value的最小值,然后添加到结果集中去 一个hash表 只对其中一

2020-07-13 16:57:30 77

原创 《Leetcode》349. 两个数组的交集 I

给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]1、题目分析给定两个集合求交集,并且不管两个集合里面出现几个元素,只取1次即可。2、解题分析有三个方法:set法 直接调用set方法然后求交集即可 hash法 使用一个hash表去遍历其中一个数组,假如就是nums1

2020-07-13 16:42:56 97

原创 《Leetcode》309. 最佳买卖股票时机含冷冻期

给定一个整数数组,其中第i个元素代表了第i天的股票价格 。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,3,0,2]输出: 3 解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]1、题目分析有三个状态:买入、卖出、冷冻。这种题目很显然都是利用动态规划...

2020-07-10 16:13:51 85

原创 剑指 Offer 07. 重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 71、题目分析在学习数据结构的时候,我们都知道前序+中序 or 后序+中序都能确定一个二叉树。这个题目给定前序和中序的结果让我们去重建一个二叉树,那当然是

2020-07-08 16:28:08 77

原创 面试题 16.11. 跳水板

你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。返回的长度需要从小到大排列。示例:输入:shorter = 1longer = 2k = 3输出: {3,4,5,6}1、题目分析本题给了两个长度得木板,然后使用k个木板拼成所有可能长度,而且依次从小到大。而且还不能有重复得长度出现,如果k>1,longer≠shorter,那么就共...

2020-07-08 16:14:34 461

原创 《Leetcode》112. 路径总和

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和sum = 22 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回true, 因为存在目标...

2020-07-07 17:33:52 80

原创 剑指 Offer 31. 栈的压入、弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1), push(2), push(3), push

2020-07-07 17:18:58 62

原创 《Leetcode》63. 不同路径 II

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

2020-07-06 17:10:30 114

原创 《Leetcode》32. 最长有效括号

给定一个只包含'('和')'的字符串,找出最长的包含有效括号的子串的长度。示例1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"1、题目分析其实就是找到最长括号,所谓最长的括号一定是一对一对的。比如()()or((())),所以本质就是一个配对题,看能配的对数最长是多少。2、解题分析利用栈去进行操作,可以初始化一个栈第一个元素是-1,这个-1的作用有两个...

2020-07-04 11:40:06 229

原创 剑指 Offer 30. 包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top(); --> 返回 0.

2020-07-04 11:24:47 80

原创 剑指 Offer 66. 构建乘积数组

给定一个数组 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]。不能使用除法。示例:输入: [1,2,3,4,5]输出: [120,60,40,30,24]1、题目分析这个题目的意思是利用给定的数组A去构建一个同样长度的数组B,不过在构建过程中有一些条件和规则,这个规则翻译过来比较简单如果要构建B[0],那就把A数组中除过A[0]之外的其它元素相乘。其它也是依次类推的以这

2020-07-03 11:32:16 70

原创 《Leetcode》108. 将有序数组转换为二叉搜索树

将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 51、题目分析这个题需要一点数据结构的知识,首先什么是二叉搜索树,其次什么是二叉搜索树。只有明白这.

2020-07-03 11:15:02 148

原创 718. 最长重复子数组

给两个整数数组A和B,返回两个数组中公共的、长度最长的子数组的长度。目录1、题目分析2、解题分析3、代码示例 1:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出: 3解释: 长度最长的公共子数组是 [3, 2, 1]。1、题目分析求两个数组公共的子数组的长度,那么可以用较短的那个字符串去匹配长的字符串,使用枚举法。像最长最短的往往都可以用动态规划,不过要找出动态转移方程来。2、解题分析主要说一下滑窗法,选取较短的那个作为滑动的数...

2020-07-01 11:47:53 150

原创 剑指 Offer 09. 用两个栈实现队列

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue","deleteHead","appendT.

2020-07-01 11:25:24 118

空空如也

空空如也

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

TA关注的人

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