自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (python刷题)leetcode 第101题:对称二叉树

题目描述:解题思路:使用递归方法解题。首先我们来看一颗数镜像对称的条件是什么?一棵树要镜像对称,只需要它的左右两颗子树镜像对称即可,如下图所示。而要判断左右子树是否是镜像对称,其实就是要判断两颗树是否镜像对称。如下图所示,两颗树镜像对称需要满足以下条件:(1)它们的根节点相同(2)树1的左子树和树2的右子树镜像对称(3)树1的右子树和树2的左子树镜像对称这就转化到了递归问题,具体...

2020-04-18 17:24:53 438

转载 vscode中忽略pylint某些错误或警告

vs code写python代码时会有时会出现大量的烦人警告线,即程序可以正常运行,但是出现各种警告信息,这是由于安装了pylint造成的,pylint是用来检查python代码的错误信息的,所以一般都需要安装。我们可以在设置中关闭警告的波浪线。具体步骤如下:点击vs code左下角的设置图标,然后在出现的菜单中选择-设置在出现的界面的搜索框中输入 python.linting.pylin...

2020-04-17 22:06:44 5708

原创 (python刷题)leetcode 第69题:x的平方根

题目描述:解题思路:求平方根的问题用牛顿法解题较好。牛顿法通过不断迭代求得方程的近似解。要求sqrt(a),相当于求函数f(x)=x2-a的正根,牛顿法的思路是先随便初始化一个点(xn,f(xn)),然后求函数在该点的切线与x轴的交点xn+1,则xn+1是比xn更加接近所求解的,依次迭代下去就可以得到近似解。下面用一张图较为直观的进行说明:图像的曲线方程为y=x2-a,为了求它的正根sq...

2020-04-17 12:49:40 533

原创 (python刷题)leetcode 第53题:最大子序列和

题目描述:解题思路:使用动态规划进行解题。用s表示包含当前元素nums[i]的最大和,result表示迄今为止的最大和,即s一定要包含nums[i],而result不一定包含nums[i]。初始化s=result=nums[0]如果s>0,说明s对于当前元素具有增益效果,则更新s=s+nums[i]如果s<=0,说明s对于当前元素不具有增益效果,则更新s=nums[i]...

2020-04-16 11:09:12 268

原创 (python刷题)leetcode 第35题:搜索插入位置

题目描述:解题思路:使用二分查找算法解题,但是要注意查到不到时的判断。具体步骤为:1、首先处理几种特殊情况。 当nums为空时,返回0 当target<nums[0]时,返回0 当target>nums[-1]时(即大于最大的数),返回len(nums)2、对一般情况进行处理。直接使用二分查找算法即可。初始化low=0,high=len(nums)-1,mid=...

2020-04-15 12:02:43 288

原创 (python刷题)leetcode 第29题:两数相除

题目描述:解题思路:不能使用乘除法,最容易想到的就是使用加法,比如被除数为10, 除数为3,则使用循环对3进行累加,循环相加的结果依次为6, 9, 12,由于9 <10<12那么就找到了最后的结果为3。但是这种方法的时间复杂度过高,它的时间复杂度为o(dividend//divisor)。那么怎么降低时间复杂度呢。我们可以使用每次循环都将除数翻倍的方法,比如对于被除数为10, ...

2020-04-14 12:22:58 333

原创 (python刷题)leetcode 第28题:实现 strStr()

题目描述:解题思路:使用朴素算法进行解题。即使用两个指针j,i,分别指向haystack和needle,初始化i=j=0,然后判断needle[i]是否等于haystack[j],如果等于,那么继续判断它们的下一个字符是否匹配,如果中途匹配失败,那么将j往后移一步,i重新置0,重复以上过程;如果needle的所有字符都匹配成功了,直接返回匹配成功的haystack的位置即可;如果j遍历完了h...

2020-04-13 10:37:27 219

原创 pytorch对网络参数进行自定义初始化

在使用pytorch构建网络时,如果不自定义进行参数初始化,那么将使用默认的初始化方法,具体查看 pytorch默认参数初始化以及自定义参数初始化Pytorch提供了几种不同类型的初始化方法 https://pytorch.org/docs/stable/nn.init.html ,如果想使用自定义的初试化方式,则有两种方法:在定义模型的类的里面定义初始化函数,然后在类的__init__()...

2020-04-11 12:45:43 2267

转载 PyTorch 中的 ModuleList 和 Sequential: 区别和使用场景

原文链接:PyTorch 中的 ModuleList 和 Sequential: 区别和使用场景

2020-04-10 21:02:00 139

原创 解决python第三方库使用pip安装失败的问题

有时我们使用pip install安装python的第三方库时,由于网速等原因会出现安装失败的情况,而且由于限速的原因,使用pip安装的速度可能会比较慢。这里推荐一个较好的解决方法,那就是先手动下载第三方库的安装包,然后再使用pip进行安装,这样安装就会成功而且速度较快。下面在win10+Anaconda的环境下以安装xgboost为例详细讲解操作步骤:首先进入 https://pypi....

2020-04-07 15:34:44 2056 1

原创 (python刷题)leetcode 第27题:移除元素

题目描述解题思路使用双指针进行解题。i=0为头指针,j=len(nums)-1为尾指针。当nums[i]等于val的时候,需要删除这个元素,那么就把nums[i]与nums[j]进行交换,然后使得j=j-1,以删除这个元素,而由于交换后的nums[i]有可能等于val,因此还需要对nums[i]进行检查,也就是说此时i不动。如果nums[i]不等于val,则使i向前移动一步即可。当j<...

2020-04-03 11:56:49 247

原创 (python刷题)leetcode 第26题:删除排序数组中的重复项

题目描述解题思路使用快慢指针进行解题。i=0开始为慢指针,j=1开始为快指针。使用j遍历数组,只有当nums[j]!=nums[i]时,i前进一步,再赋值nums[i]=nums[j]即可,最后返回i+1。python代码class Solution(object): def removeDuplicates(self, nums): """ :t...

2020-04-03 11:23:08 188

原创 (python刷题)leetcode 第25题:K 个一组翻转链表

题目描述解题思路将整个链表分为已翻转区,待翻转区和未翻转区三个部分初始化一个虚拟节点dummy,待翻转区的前驱节点pre和后继节点end初始化为pre=end=dummy通过循环找到待翻转区的范围,每循环一次,end向前走一步,循环k次后end就位于待翻转区的末尾节点,初始化start=pre.next就得到了待翻转区的范围[start, end]记录end的后一个节点next=en...

2020-04-02 12:12:26 243

转载 Python 中,matplotlib绘图无法显示中文的问题

原文链接:Python 中,matplotlib绘图无法显示中文的问题 在python中,默认情况下是无法显示中文的,如下代码:import matplotlib.pyplot as plt # 定义文本框和箭头格式decisionNode = dict(boxstyle = “...

2020-04-01 20:50:32 410

原创 (python刷题)leetcode 第24题:两两交换链表中的节点

题目描述解题思路使用迭代法进行解题。用p1,p2表示当前的第一个和第二个节点,对p1和p2进行交换前要先保存p2的下一个节点p3=p2.next。此时对p1和p2进行交换。然后更新p1和p2,p1=p3,p2=p3.next,重复以上步骤直到全部节点交换完成即可。复杂度分析:由于只需要遍历一次链表,所以时间复杂度为o(n)由于只需要创建常数个节点,所以空间复杂度为o(1)pytho...

2020-04-01 16:22:11 245

原创 (python刷题)leetcode 第23题:合并K个排序链表

题目描述解题思路使用分治法进行解题。将所有链表进行两两分组,然后依次进行两两合并即可。复杂度分析:时间复杂度为Nlogk,其中N为所有链表的节点总数,k的链表数空间复杂度为o(1),每次合并两个链表时只需要创建两个指针即可。python代码# Definition for singly-linked list.# class ListNode(object):# def...

2020-04-01 12:41:31 182

原创 pytorch实验trick记录

这里记录了使用pytorch进行实验的一些tricks,这些tricks来自自己的实验经验以及大佬们的经验,不断更新中一次性保存所有实验参数并在下次加载以复现网络参数...

2020-03-25 21:46:50 244

转载 pytorch中如何在lstm中输入可变长的序列

【原文链接】https://blog.csdn.net/kejizuiqianfang/article/details/100835528 ...

2020-03-22 17:40:18 1081 1

转载 keras tensorflow 多gpu训练

【转载来源】https://blog.csdn.net/u012862372/article/details/80367607 问题描...

2020-03-22 17:01:59 432

原创 神经网络调参经验

以下链接内容为微信公众号 【 夕小瑶的卖萌屋】 的神经网络调参的一些tricks。step-by-step: 夕小瑶版神经网络调参指南(上) 别再喊我调参侠!夕小瑶“科学炼丹”手册了解一下 ...

2020-03-19 15:21:26 217

原创 (python刷题)leetcode 第22题:括号生成

题目描述:解题思路:使用深度优先搜索的方法找到所有符合条件的答案。这里引用大佬的解题思路图,原图链接对于 n=2 的情况如下图所示。从图中可以看出,深度优先遍历的函数包含的步骤为:如果当前剩余的左右括号数都为0,则将当前的括号字符串添加进结果中如果当前剩余的左括号数量大于右括号数量,那么得到的括号字符串不符合条件,需要进行剪枝如果当前剩余的左括号数量大于0,则可进行左分支如...

2020-03-18 11:26:15 260

转载 NLP常用的数据增强方法

【原文】https://mp.weixin.qq.com/s/ySxLHnaEMBXjcYPb4xc1Rg

2020-03-06 10:27:31 238

转载 PyTorch中使用指定的GPU

PyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他GPU。有如下两种方法来指定需要使用的GPU。1. 类似tensorflow指定GPU的方式,使用CUDA_VISIBLE_DEVICES。1.1 直接终端中设定:CUDA_VISIBLE_DEVICES=1 python my_s...

2020-03-04 20:37:11 94

转载 提高github下载速度的方法【100%有效】可达到2MB/s

...

2020-03-02 15:30:27 860

原创 自然语言处理cs224n课程作业答案

自然语言处理cs224n课程作业答案如下,内附手动推导公式笔记:https://github.com/BetterBoyTph/cs224n-assignments

2020-03-01 17:49:06 885

转载 nltk.download()运行报错问题: [WinError 10054]远程主机强迫关闭了一个现有连接

安装好nltk包之后,在配置数据源即使用nltk.download()报错:[WinError 10054]远程主机强迫关闭了一个现有连接解决方法:首先手动下载nltk数据集(所有的)https://pan.baidu.com/s/1oUsf-FgVAZnQAtZWRwiK4w 提取码:9so...

2020-02-20 21:04:59 5520 4

转载 Anaconda — conda install慢的解决方法

查看了Anaconda 镜像使用帮助我们可以通过以下命令为Anaconda添加仓库conda config --add chann...

2020-02-20 16:05:05 1433

原创 (python刷题)leetcode 第21题:合并两个有序链表

题目在leetcode上的链接为:https://leetcode-cn.com/problems/merge-two-sorted-lists/题目描述解题思路使用归并排序的合并有序数组的思路即可。复杂度分析:需要遍历两个链表,时间复杂度为 o(m+n)只需要创建常数个指针变量,空间复杂度为 o(1)python代码# Definition for singly-linked...

2020-02-18 12:13:07 287

原创 (python刷题)leetcode 第20题:有效的括号

题目在leetcode上的链接为:https://leetcode-cn.com/problems/valid-parentheses/题目描述解题思路使用栈进行解题。遍历字符串,如果遇到左括号就入栈,遇到右括号就出栈并比较出栈的左括号是否与该右括号匹配,最后如果遍历完字符串且栈为空,说明字符串为有效括号。判断左右括号是否匹配可以使用 dict 建立括号的匹配关系:dic = {"(...

2020-02-18 11:14:00 467 1

原创 (python刷题)leetcode 第19题:删除链表的倒数第N个节点

题目在leetcode上的链接为:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/题目描述解题思路要实现一遍扫描解题,可以使用快慢指针的思想。要删除倒数第 n 个节点,那么需要找到倒数第 n+1 个节点才行。先初始化两个指针 p1=p2=head,然后让快指针 p1 先往前走 n 步,然后让 p2,p1 ...

2020-02-17 12:28:42 260

原创 (python刷题)leetcode 第18题:四数之和

题目在leetcode上的链接为:https://leetcode-cn.com/problems/4sum/题目描述解题思路这一题与第15题 三数之和 的解题思路类似。先对数组进行从小到大的排序,然后使用两重循环遍历数组,再使用双指针遍历一遍即可。具体步骤为:首先如果 nums 为 None,或者 nums 长度小于4,那么返回空列表将 nums 按照从小到大进行排序使用变量...

2020-02-17 11:22:03 252

原创 (python刷题)leetcode 第17题:电话号码的字母组合

题目在leetcode上的链接为:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/题目描述解题思路这是一个排序组合的问题,可以使用回溯法的思想解题。回溯法的思想是先自上到下,然后再一步步从下往上进行回溯。对于一个有多种解的问题,回溯法先按照其中的一种解法往最底层执行,执行完毕后再回到上一层执行...

2020-02-16 12:03:05 428

原创 (python刷题)leetcode 第16题:最接近的三数之和

题目在leetcode上的链接为:https://leetcode-cn.com/problems/3sum-closest/题目描述解题思路这一题与第15题 三数之和 类似。先对数组 nums 进行从小到大排序,然后使用双指针解题。我们使用 s 表示数组中三数之和,要求与 target 最接近的 s,就是求它们的差的绝对值 |s-target| 的最小值对应的 s,这其实就是一个简单...

2020-02-15 13:48:39 247

原创 (python刷题)leetcode 第15题:三数之和

题目在leetcode上的链接为:https://leetcode-cn.com/problems/3sum/题目描述解题思路首先想到的是使用暴力法解题,使用三重遍历遍历数组,然后判断三个数相加是否为0并去重即可,时间复杂度为 o(n3)。为了降低时间复杂度,我们可以将数组排序后再使用双指针的解法。具体步骤为:首先如果 nums 为 None,或者 nums 长度小于3,那么返回空...

2020-02-15 12:32:51 343

原创 (python刷题)leetcode 第14题:最长公共前缀

题目在leetcode上的链接为:https://leetcode-cn.com/problems/longest-common-prefix/题目描述解题思路解法一:暴力法。首先找到数组中字符串的最短长度,那么依次从前往后比较数组中的字符串的字符是否相同,遇到不同的字符时结束查找,即可找到最长前缀。ps:特别注意当数组长度为0时,返回 “”;当数组长度为1时,直接返回第一个字符串...

2020-02-14 11:29:06 247

原创 (python刷题)leetcode 第13题:罗马数字转整数

题目在leetcode上的链接为:https://leetcode-cn.com/problems/roman-to-integer/题目描述解题思路解题方法与第12题整数转罗马数字类似,使用哈希表来解题。以 key 为罗马数字,value 为对应的整数,建立7种单个字符和6种两个字符的罗马数字一共13种映射关系的哈希表: dic = {"M" : 1000, "CM" : 900,...

2020-02-13 13:23:01 423

原创 (python刷题)leetcode 第12题:整数转罗马数字

题目在leetcode上的链接为:https://leetcode-cn.com/problems/integer-to-roman/题目描述解题思路由于整数与罗马数字存在一种映射关系,所以我们可以建立哈希表来表示这种映射关系,哈希表中的 key 为整数,value 为对应的罗马数字(字符串)。我们将题目中的7种单个字符以及6种两个字符的特殊情况一共13种映射情况,按照对应的整数从大到...

2020-02-13 12:31:46 473

原创 (python刷题)leetcode 第11题:盛最多水的容器

题目在leetcode上的链接为:https://leetcode-cn.com/problems/container-with-most-water/题目描述解题思路首先很容易想到暴力法,只需要使用两重循环遍历起始位置元素 i,j,然后每遍历到以个位置时计算此时的盛水量 (j-i)*min(a[i],a[j]),并更新最大的盛水量即可。暴力法的时间复杂度为 o(n2)。那么有不有时间...

2020-02-12 12:08:46 375

原创 (python刷题)leetcode 第9题:回文数

题目在leetcode上的链接为:https://leetcode-cn.com/problems/palindrome-number/题目描述解题思路这里提供两种解法:解法一:转换为字符串的解法1.先判断特殊情况,即 x<0 或者 x能被10整除且x不为0这两种情况不是回文数2.否则将整数转化为字符串,然后再判断是否为回文字符串即可。复杂度分析:我们令 n 表示 le...

2020-02-11 14:02:30 398

原创 (python刷题)leetcode 第8题:字符串转整数

题目在leetcode上的链接为:https://leetcode-cn.com/problems/string-to-integer-atoi/题目描述解题思路这一题直接按照题目的流程去解题即可,算法步骤为:找到第一个非空格出现的位置从该位置开始遍历字符串,并用一个列表储存该位置开始的有效数字,直接遍历到第一个非有效数字结束将列表转化为字符串后再使用 int 函数转化为整数,判...

2020-02-10 11:50:43 325

空空如也

空空如也

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

TA关注的人

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