自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ImportError No module named html parser, html is not a package解决办法

问题:ImportError: No module named 'html.parser'; 'html' is not a package分析:本地存在与html关键字冲突的文件html文件解决:使用如下命令定位文件:python3 -c "import html; print(html.__file__)"找到相应文件后,将其重命名(该文件有用时,重命名后需要修改相应的调用处的import内容)或删除(不需要的情况下)...

2020-06-23 00:11:10 1408

原创 python import路径相关问题

有时候明明修改了相应的包但是运行时还是报错查看发现时import的路径并不是自己修改的文件所在的路径import sysprint(sys.path)打印出当前import的各个搜索路径如果没有需要的路径,使用sys.path.append('xxx')添加路径如果存在但是靠后(import优先级为打印出的路径顺序),import时被其他路径下的同名包给截胡了需要使用sys.path.insert(0,'xxx')给需要的路径加上高优先级...

2020-06-15 13:12:19 304

原创 使用服务器时,直接调用anaconda文件夹中的pytorch

将目标anaconda.tar复制到自己的文件夹解压tar -xvf anaconda.tar然后查看其中的环境exportPATH=上一步找到的目标环境/bin:$PATH然后就可以直接用了

2020-06-11 15:28:16 291

原创 关于卷积层参数问题以及输出feature map的过程

只是自己的一些思考,不一定正确,还望指正首先,从代码实现时的参数来看,比如:实现3x3卷积将16个channel的feature map处理到32个channel,那么参数维度是(16,32,3,3)容易看出参数量就是16*32*3*3(忽略偏置参数量)可以理解为,对于输出feature map中的每个channel,都是输入feature每个通道和对应各个通道的3*3卷积核卷积求和的结果(输出每个channel对应一组与输入channel数相等的卷积核,这样就有out_channel * in_c

2020-05-16 18:42:16 960

原创 二叉树节点的公共祖先

题目:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树:root =[3,5,1,6,2,0,8,null,null,7,4]代码实现:class Solu...

2020-04-26 21:16:25 680

原创 打印从1到最大的n位数

题目:输入数字n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。代码:class Solution {public: vector<int> printNumbers(int n) { vector<int> result; if(n < 1)...

2020-04-25 13:22:41 147

原创 二进制中1的个数

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。代码实现:class Solution {public: int NumberOf1(int n) { int count = 0; while(n){ count++; n = n&(n-1); // 操作1次原数中...

2020-04-25 09:40:05 118

原创 矩阵中的路径(C++)

题目:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如\begin{bmatrix} a & b & c &e \\ s & f & c & s \\ a &...

2020-04-25 08:59:06 492

原创 二叉树的下一个节点(C++)

题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路:如果当前节点有有子树,那么下一个节点就是它的右子树的最左边的节点;如果没有右子树,且它是它父节点的左子节点,那下一个节点就是它的父节点;如果没有右子树,且它是它父节点的右子节点,那应该沿着父节点的指针逐步向上遍历,直到遍历当前节点是它父节点的左...

2020-04-10 10:30:03 210

原创 把字符串转换成整数(C++)

题目:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0思路:需要设置一个异常变量,当异常发生时,该变量为true,返回0;(字符串为空时为无效输入)先判断第一位是不是符号位,并判断下一位是否还有数字(如果没有数字,则抛出异常,输出0)再判断字符串中是否有不是数字的字符(如果有,设置异常,输出0)判断数字是否溢出...

2020-04-08 22:32:24 1004

原创 构建乘积数组(C++)

题目:给定一个数组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]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * ... * A[n-1],B[n-1] = A[0] * A[1] * ... * A[n-2];)思路:题目要求不能使用除法...

2020-04-08 12:27:45 382

原创 不用加减乘除做加法(C++)

题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。思路:使用二进制位运算,使用异或来表示不进位加法,使用位与然后左移一位来表示进位,然后两部分相加得到和一直循环到不产生进位的时候为止代码实现;class Solution {public: int Add(int num1, int num2) { int...

2020-04-08 11:36:37 246

原创 求1+2+......+n(C++)

题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路及代码实现:1. 使用构造函数,使用长度为n的数组来调用n次构造函数,实现n个数的和class temp {public: temp(){++N; sum+= N;} static void reset() {...

2020-04-08 11:14:22 633

原创 股票的最大利润(C++)

题目:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?思路:需要确定利润为负数时,即股票一直在跌的时候,要不要卖出保存卖出前的最低买入价,用当前卖出价减去最低买入价,即当前能获得的最大利润,逐步向后遍历整个数组,得到最大利润代码实现:class Solution {public: int maxProfit(vector...

2020-04-08 09:24:43 1281

原创 圆圈中最后剩下的数字

圆圈中最后剩下的数字题目每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这样下...

2020-04-08 09:07:47 133

原创 扑克牌中的顺子(C++)

题目:思路:首先需要将手中的牌排序,然后统计0的个数,如果这些牌中除0之外有别的数相等,则不可能为顺子;统计牌中的差值,如果不够用来补零的,则不可能为顺子。代码实现:...

2020-04-08 07:53:36 1199

原创 n个骰子的点数(C++)

题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。思路:1. 递归方法:固定当前位,去向后递归,直到最后一颗骰子,然后向前归并每一种可能出现的结果,并使用一个哈希表存起来每种和值对应的次数2. 使用循环方法:代码实...

2020-04-07 22:29:50 359

原创 队列的最大值(C++)

题目:请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value需要返回 -1思路:使用队列实现,最大队列最前端始终保持当前最大值及其index,如果新加入的值大于当前队列中的值,则清空当前小于当前值得所有值,保存当前...

2020-04-06 08:57:22 2303

原创 滑动窗口的最大值(C++)

题目:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5...

2020-04-04 17:30:46 668

原创 翻转单词的顺序(C++)

题目:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?思路:首先将整个句...

2020-04-04 15:31:52 900

原创 和为S的连续正数序列(C++)

题目:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所有和为S的连续正数序列...

2020-04-04 12:15:03 316

原创 和为S的两个数字(C++)

题目:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。思路:使用两个指针一个从前向后遍历,一个从后往前遍历,当指针所指位置的和大于目标值的时候,后面的指针向前一位(将大的数字变小),当指针所指位置的和小于目标值的时候,前面的指针向后一位(将小的数字变大),直到得到等于目标值的结果;由于数组递增排序,我们是由...

2020-04-04 11:32:06 202

原创 数组中唯一只出现一次的数字(C++)/ 只出现一次的数字 II

题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。思路:统计二进制中每一位的和,如果该位的和对3取余不为0,则表示这个只出现一次的数字该位为1代码实现:class Solution {public: int singleNumber(vector<int>& nums) { ...

2020-04-04 10:59:35 475

原创 数组中只出现一次的数字 I(C++)(其他数字出现两次)

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:如果一个数组中只有一个数字只出现了一次,那么将数组中的所有数字依次异或得到的即位该值当数组中有两个出现一次的数字时,需要将数组分为两部分,再用上述办法找出两个数字此时如果将整个数组异或,最终得到的是这两个不同的数字异或之后的结果;在异或结果中找到最右边的1(表示这两个数字中有1...

2020-04-03 20:26:24 534

原创 平衡二叉树(C++)

题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树。思路:当左右子树分别为平衡二叉树,且左右子树的深度差小于等于1时,该二叉树平衡因此可以使用递归思想去判断子树的平衡性,再判断左右子树的深度差是否满足平衡条件代码实现:class Solution {public: bool IsBalanced_Solution(TreeNode* pRoot) { ...

2020-04-03 18:50:27 311

原创 二叉搜索树的第k个节点(C++)

题目:给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。思路:因为时二叉搜索树(满足left<root<right)的关系,因此按照中序遍历出来即是由小到大排好序的,只需要找中序遍历后的第k个元素代码实现:/*struct TreeNode { int val; ...

2020-04-03 16:43:52 235

原创 0~n-1中缺失的数字(C++)

0~n-1中缺失的数字题目一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。思路由于使用数组,递增排序并且有且只有一个数字不在数组中,因此可以想到,缺失数字之前的数字都与坐标对应相等,往后的都和坐标不相等;可以使用二分法找到数组中第一个与坐标不相等的数,则缺失的数字 即是该位...

2020-04-03 12:06:41 533

原创 数字在排序数组中出现的次数(C++)

题目:统计一个数字在排序数组中出现的次数思路:因为是排序数组,所以重复的数字都连着排列,因此只需要找到第一个出现的位置和最后一次出现的位置即可,可用二分法实现,复杂度为O(logn)代码实现:class Solution {public: int GetNumberOfK(vector<int> data ,int k) { int le...

2020-04-03 10:40:37 702

原创 两个链表的第一个公共节点

题目:输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)思路:先统计两个链表的长度,然后长的链表先向后遍历,到剩下的长度和短的相同时,两个链表同时向后遍历,第一个相同的节点即是第一个公共节点代码实现:/*struct ListNode { int val; struct ListNode ...

2020-04-02 08:23:15 101

原创 数组中的逆序对(C++)

题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007思路:使用递归,将数组分为两部分,一直到分开的数组只包含一个元素的时候,分别使用两个指针,指向两个数组的最后一个元素,前一个数组的最后一个元素,如果前一个比后一个大,那就说明此时可...

2020-04-01 13:41:51 1166

原创 字符流中第一个只出现一次的字符(C++)

题目:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。如果当前字符流没有存在出现一次的字符,返回#字符。思路:使用一个哈希表,以字符对应的ascii码为key,以字符出现的位置为value(字符未出现时,value为-1,出...

2020-04-01 10:05:03 355

原创 第一个只出现一次的字符

题目:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).思路:使用一个数组来保存每个字符出现的次数,然后从头便利字符,返回第一个只出现一次的位置代码如下:class Solution {public: int FirstNotRepeatingChar(...

2020-03-31 11:55:17 80

原创 丑数

题目:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路:1. 从1开始向后判断每个数是不是丑数,如果是则计数加1,直到找到要求的第index个数,这样需要遍历很多对题目没用的非丑数2.从1开始,乘2或3或5,将其中最小的数放到下一个丑数的位置,...

2020-03-31 10:35:27 134

原创 无重复字符的最长子串

class Solution {public: int lengthOfLongestSubstring(string s) { if(s.length()<=1) return s.length(); int cur_len = 0; int max_len = 0; int *positio...

2020-03-31 08:20:07 110

原创 礼物的最大价值(C++)

礼物的最大价值题目思路代码实现题目在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?思路使用一个和棋盘位置对应的 二维数组来保存能够到达当前位置的最大价值和思考使用二维数组保存时,实际上每一行/...

2020-03-30 07:58:11 1175

原创 把数字翻译成字符串(C++)

把数字翻译成字符串题目思路代码实现题目给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。思路当第一个或者前两位数字被当作一组翻译之后,接着翻译剩下的位数,可以使用递归;为了减少内存占用,我们使用循环实现,从后往前...

2020-03-29 17:56:02 473

原创 把数组排成最小的数(C++)

把数组排成最小的数题目思路代码实现题目输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路将数字放入数组,利用数组的排序函数sort(可以根据自定义的规则来排序),排序后越小的数放在越高的次位,这样到最后的排成数字才能最小代码实现class Solution ...

2020-03-29 10:35:49 303

原创 数字序列中某一位的数字(C++)

数字序列中某一位的数字题目思路代码实现题目数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。思路需要根据每一位数字的位数来计算,一位数字有0-9共10个,两位数10到99共90个…假设需要找的是第999位,先确定不在99之前(999&gt...

2020-03-27 10:52:18 471

原创 整数中1出现的次数

题目:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。思路:以21345为例,分为1-1345和1346-21345两部分...

2020-03-27 08:43:32 113

原创 连续子数组的最大和(C++)

题目:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列...

2020-03-24 13:18:00 677

空空如也

空空如也

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

TA关注的人

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