自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决git push时出现Unable to access ‘XXX.git/‘: OpenSSL SSL_connect问题

开启了VPN,代理引起的问题这时候需要设置一下http.proxy以及https.proxy,所以,在git bash命令行中输入以下命令即可:git config --global http.proxy 127.0.0.1:代理端口号git config --global https.proxy 127.0.0.1:代理端口号一波刚平,一波又起解决完上述问题再次提交,又遇到 Push failed Unable to access ‘https://github.com/your_projec

2021-03-19 16:01:09 4243

原创 Python绘制语谱图+时域波形

Python绘制语谱图+时域波形# 导入相应的包 import numpy, wave import matplotlib.pyplot as plt import numpy as np import os filepath = 'C:/auditory/' # 添加路径filename = os.listdir(filepath) # 得到文件夹下的所有文件名for i in range(len(filename)): f = wave.open(filepath + f

2020-08-31 11:34:01 1200

原创 python的一些基本用法随笔

Python数组、列表、矩阵之间的相互转换import numpy as npmy_list = [[1, 2, 3], [4, 5, 6]] # 列表定义my_array = np.array([[1, 2, 3], [4, 5, 6]]) # 数组定义(这里是二维数组)my_matrix = np.mat([[1, 2, 3], [4, 5, 6]]) # 矩阵定义print('-----------------------列表转数组、矩阵----------------------

2020-08-19 14:20:39 166

原创 python的super方法

python中类的继承:子类继承父类,即子类拥有了父类的 属性 和 方法。python中类的初始化都是__init__(),父类和子类的初始化方式都是__init__()# 如果子类实现了__init__()函数,就会覆盖父类的初始化函数class Animal(object): def __init__(self): self.name = "我是父类"class Panda(Animal): def __init__(self): self.na

2020-08-18 14:08:11 147

原创 有关python的class以及self的总结

一、Python 的类和实例在面向对象中,最重要的概念就是类(class)和实例(instance),类是抽象的模板,而实例是根据类创建出来的一个个具体的 “对象”。就好比,学生是个较为抽象的概念,同时拥有很多属性,可以用一个 Student 类来描述,类中可定义学生的姓名、分数等属性,但是没有具体的数值。而实例是类创建的一个个具体的对象, 每一个对象都从类中继承有相同的方法,但是属性值可能不同,如创建一个实例叫 xiaowang 的学生,其分数为 93,则这个实例拥有具体的数值。类:以Studen

2020-08-18 10:01:05 524

原创 GeForce RTX 2060配置CUDA并安装pytorch

GeForce RTX 2060配置CUDA并安装pytorch查看自己的显卡支持的CUDA版本根据支持的CUDA版本去下载对应的VS,安装VS2017安装pytorch查看自己的显卡支持的CUDA版本在开始中找到并打开NVIDIA控制面板。打开NVIDIA控制面板。选择“帮助”–“系统信息”–“组件”,找到NVCUDA.DLL信息显示即为显卡支持的CUDA最高版本。根据支持的CUDA版本去下载对应的VS,安装VS20171.1现在VS官网主推的是2019版本,2017版本的安装包。链接:h

2020-08-17 15:11:11 7647

原创 Anaconda使用教程

简介Anaconda就是可以便捷获取包且对包进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。Anaconda具有如下特点:开源安装过程简单高性能使用Python和R语言免费的社区支持Anaconda、conda、pip、virtualenv的区别① Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。

2020-06-14 23:26:43 596

原创 Anaconda+VScode配置与安装

Anaconda+VScode配置与安装Anaconda官方网站,根据自己电脑的系统平台和系统要求下载相应版本的安装包。按照官网的安装教程来是最好的学习方式,官网安装教程链接(其实主要还是懒,不想一张张截图了^ _ ^)这里就主要强调一下安装过程中的一些注意事项吧:目标路径中不能含有空格,同时不能是“unicode”编码除非被要求以管理员权限安装,否则不要以管理员身份安装在“Advanced Installation Options”中不要勾选“Add Anaconda to my PAT

2020-06-14 22:38:55 8691

原创 第一个不重复字符问题

问题描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).class Solution {public: int FirstNotRepeatingChar(string str) { if(str.empty()) return -1; u...

2019-12-28 15:01:44 152 1

原创 最长公共子串以及子序列问题

写一个最长公共子串(子串要求连续)动态规划法#include <iostream>#include <string>#include <vector>#include <algorithm>using namespace std;int LCS1(string s1, string s2) { int len1 = s1.size()...

2019-12-27 15:19:20 78

原创 最长公共前缀

问题描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”思路官方思路:先假设strs[0]为公共前缀,之后遍历1~strs.size()的字符串,判断是否含有prefix,如果不含有prefix,则将prefix长度减1,再次判断prefix-1是否为其子串(=...

2019-12-27 14:50:27 73

原创 无重复的最长公共子串问题

问题描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。利用滑动窗口时间复杂度:o(n^2)空间复杂度:o(1)设立start和end,end向右滑动,每次判断当前end的值是否在之前的数组中出现过,若出现过,将start的位置移向出现过的字符的下一个...

2019-12-27 12:06:29 156

原创 复杂链表的复制

问题描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)解法:1、复制每个节点,如:复制节点A得到A1,将A1插入节点A后面2、遍历链表,A1->random = A->random->next;3、将链...

2019-12-22 23:13:09 65

原创 扑克牌顺子

问题描述:LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5...

2019-12-22 21:30:11 76

原创 求1+2+3+...+n

问题描述:求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。解法:利用algorithm头文件的pow方法,通过公式n(n+1)/2进行计算class Solution {public: int Sum_Solution(int n) { int result; ...

2019-12-21 11:04:32 58

原创 最大连续子序列求和

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

2019-12-21 10:43:37 70

原创 两数之和

问题描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class...

2019-12-20 22:45:54 59

原创 二叉搜索树的后序遍历序列

问题描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路:后序序列最后一个值为root;二叉搜索树左子树值都比root小,右子树值都比root大。1、确定root;2、遍历序列(除去root结点),找到第一个大于root的位置,则该位置左边为左子树,右边为右子树;3、遍历右子树,若发现有小于...

2019-12-20 21:41:22 67

原创 数组中出现次数超过一半的数字

问题描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解法一:通过map统计每个数字出现的次数,借助了辅助空间,空间复杂度不是最优的class Solution {public: int MoreThanHalfNu...

2019-12-20 21:13:42 68

原创 最小的K个数

问题描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。思路:通过排序,将n个数变为有序序列后再输出前k个数。以下实现了七种排序方法:#include<iostream>#include<vector>using namespace std;/*对于排序算法,排序前后,两个相等的数相对...

2019-12-20 20:59:55 70

原创 String的用法及例子

string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作。其中使用的代码多数都是来自cpp官网。声明和初始化方法:想使用string首先要在头文件当中加入< string >声明:string s;//声明一个string 对象string ss[10];//声明一个string对象的数组初始化:...

2019-12-10 21:23:41 251

原创 使用VMwareWorkstation 15 Player搭建Ubuntu16.04虚拟机

下载的VMware的版本与Ubuntu的要匹配才可以,要不然新建虚拟机的时候总是会失败第一步:下载VMware Player直接官网下载即可,打开链接之后选择VMware Player for Windows 64-bit ,如图所示,根据自己电脑位数选择:第二步:下载Ubuntu16.04因为16.04版本现在有长期支持,是最稳定的,所以选择这个版本。喜欢英文版的就下载原生的英文版,喜...

2019-12-06 14:22:03 1148

原创 sizeof的用法

sizeof是C语言中保留关键字,也可以认为是一种运算符,单目运算符。常见的使用方式:(假设在32位的编译环境中)sizeof实际上是获取了数据在内存中所占用的存储空间,以字节为单位来计数。基本数据类型的sizeofcout<<sizeof(char)<<endl; //结果是1cout<<sizeof(int)&lt...

2019-12-06 11:05:24 282

原创 翻转单词顺序列

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

2019-12-03 00:07:05 58

原创 栈的压入、弹出序列

问题描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路可以定义辅助vector,按照压入顺序将元素加入vector中,并且判断当前加入...

2019-12-02 23:39:12 62

原创 C++标准模板库(STL)的容器的底层实现

STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。以上图片来自C++中的容器分为顺序容器和关联容器,所有容器都是类模板使用模板可以编写一个类定义或函数定义,用于多个不同的数据类型。如vector 中T可为int,char,float,string等类型顺序容器主要有以下几类vector(动态数组)支持快速随机访问v...

2019-11-29 22:12:06 1463

原创 C++的接口

c++ 的接口类到底是干什么用的?什么叫接口?打一个比方如抽象一个类"人":class people。人有一些必须要做的事,比如:吃饭、呼吸。但是每个人吃饭又不一样,比如:用筷子吃(中国人)、用刀叉(欧美人)、用手抓(印度人)。那么你如果不把“人”(people)这个类做为一个接口(抽象类)。吃就至少要写3个“吃”的重载方法。但一个中国人可能永远也用不到用刀叉吃饭、用手抓饭这样的方法。这就造...

2019-11-28 16:45:39 8114 1

原创 包含min函数的栈

问题描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。思路一个用来存所有的元素“total”,另一个用来存加入新的元素后当前total中对应的最小值。两个栈中的元素数量始终保持一致,当新的元素小于“minValue”栈顶元素时,“minValue”向栈顶push新来的元素,否则,“minValue”向栈顶加入原栈顶元素。执行“po...

2019-11-28 12:48:03 64

原创 顺时针打印矩阵

问题描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路定义四个变量代表范围,up、down、left、right从左向右走存入整行的值,代表上边界的 up 加一,...

2019-11-19 19:18:35 69

原创 从上往下打印出二叉树,二叉树的深度

问题描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路其实考察的是对二叉树的层次遍历通过队列实现,首先判断树是否为空,不为空时根节点首先进入队列。当队列不为空时,队首元素出队,如果队首元素有左孩子,其左孩子进队列。接着判断队首元素是否有右孩子,有的话右孩子进队列。一直重复上诉操作直到队空。实现/*struct TreeNode { int val; struct...

2019-11-19 18:50:22 135

原创 哈夫曼树及应用

概念当用 n 个结点(都做叶子结点且都有各自的权值)试图构建一棵树时,如果构建的这棵树的带权路径长度最小,称这棵树为“最优二叉树”,有时也叫“赫夫曼树”或者“哈夫曼树”。在构建哈弗曼树时,要使树的带权路径长度最小,只需要遵循一个原则,那就是:权重越大的结点离树根越近。树的带权路径长度(WPL)为树中所有叶子结点的带权路径长度之和这颗树的带权路径长度为:WPL=71+52+22+42...

2019-11-19 11:24:37 903

原创 线索二叉树

线索二叉树不管二叉树的形态如何,空链域的个数总是多过非空链域的个数。n个结点的二叉链表共有2n个链域,非空链域为n-1个,空链域却有n+1个。以二叉链表作为存储结构时,只能找到结点的左、右孩子信息,不能直接得到结点在任一序列中的前驱和后继信息,这种信息只有在遍历的动态过程中才能得到。若程序中所用二叉树需经常遍历或查找结点在遍历所得线性序列中的前驱和后继,则应采用线索链表作存储结构。利用原来的空...

2019-11-18 17:31:45 191

原创 二叉树的镜像

问题描述操作给定的二叉树,将其变换为源二叉树的镜像。左右交换思路1先判断树是否为空,树的左右结点是否为空然后交换左右结点,使用递归一直操作到叶子结点C++实现/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(...

2019-11-17 20:02:20 64

原创 树的子结构

问题描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路首先判断A、B根节点是否一样,一样时接着判断左右孩子是否一样,可使用递归方法。如果根节点不一样,判断A的左孩子或者右孩子和B的根节点是否一样,依次往下查找如果B为空,说明包含子树如果A为空,说明不包含子树C++实现/*struct TreeNode { int val; ...

2019-11-16 23:35:51 61

原创 树和二叉树

问题描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)关于二叉树的介绍可参考树的基本知识,以下是对其的简述树是一些结点的集合。若非空树,则由根节点和0个或多个非空的子树组成路径是结点和另一个结点之间边和结点的序列结点的高度指的是该结点到叶子结点最长路径边的总和结点的深度指的是该结点到根节点最长路径边的总和结点的层级指的是该结点到根节点最长...

2019-11-16 23:06:16 83

原创 合并两个排序的链表

问题描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解法一定义一个新的链表,将两个链表中的结点进行比较然后插入到新链表中。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class...

2019-11-11 22:56:18 54

原创 反转链表

问题描述输入一个链表,反转链表后,输出新链表的表头。思路以3个节点为例:pre记录当前节点的前一个节点,cur记录当前结点,temp记录当前节点的后一个节点。当前节点cur不为空,进入循环,先记录cur的下一个节点位置;再让cur的指针指向pre。移动pre和cur的位置,因为刚才记录了下一个节点的位置,所以该链表不会断,我们让cur走向temp的位置。class Solution ...

2019-11-11 19:06:58 56

原创 链表中倒数第K个结点

问题描述输入一个链表,输出该链表中倒数第k个结点。思路直接计算链表结点总个数count,然后从前向后找第 count-k+1 个节点class Solution {public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { int count=0; ListNode*...

2019-11-11 17:55:56 49

原创 调整数组顺序使奇数位于偶数前面

问题描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。暴力解法可以借助两个数组分别存储奇数和偶数,最后合并class Solution {public: void reOrderArray(vector<int> &array) { ...

2019-11-09 21:27:30 65

原创 数值的整数次方

问题描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0通过递推实现class Solution {public: double Power(double base, int exponent) { double result; result=1.0...

2019-11-09 18:21:57 51

空空如也

空空如也

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

TA关注的人

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