自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Python自学记录

记录了自学数据结构、数据分析、机器学习、深度学习等等过程中的小项目

  • 博客(79)
  • 资源 (1)
  • 收藏
  • 关注

原创 leetcode 600-700

文章目录重做题605. 种花问题645. 错误的集合646. 最长数对链(dp\贪心)647. 回文子串回文字符串698. 划分为k个相等的子集(dfs)704. 二分查找712. 两个字符串的最小ASCII删除和713. 乘积小于K的子数组(dp)718. 最长重复子数组(dp***********)最长公共子串738. 单调递增的数字739. 每日温度(单调栈)743. 网络延迟时间746. 使用最小花费爬楼梯766. 托普利茨矩阵852. 山脉数组的峰顶索引860. 柠檬水找零870. 优势洗牌875

2020-08-07 20:05:03 794

原创 leetcode 400-500

文章目录重做题401. 二进制手表413. 等差数列划分(dp)416. 分割等和子集(背包问题)当成01背包问题417. 太平洋大西洋水流问题442. 数组中重复的数据435. 无重叠区间(贪心)445. 两数相加 II448. 找到所有数组中消失的数字(桶排序)451. 根据字符出现频率排序(sort重写****************)452. 用最少数量的箭引爆气球454. 四数相加 II(哈希取数**********)474. 一和零(背包)494. 目标和496. 下一个更大元素 I重做题4

2020-07-24 14:21:49 773

原创 C指针和位运算

跟据符号顺序依次判断类型int p; //普通整型int *p;//带*说明p是一个指针,int说明p是指向整型的指针int p[3];//带[]说明p是一个数组,int说明数组里存放的是整型元素int *p[3];//[]说明是数组,*说明数组里的元素是指针,int说明这些指针元素指向整型。所以p是一个储存了整型的指针所组成的数组。int p(int);//p有()说明是个哈桑农户,函数有一个整型的参数,该函数返回的是整型int (*p)(int);//*说明p是指针,()说明*p是

2020-06-15 10:47:48 605

原创 leetcode 100-200

[@toc]100. 相同的树/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: bool isSameTre

2020-06-13 15:18:44 482

原创 leetcode 200-300

200. 岛屿数量写代码的时候要认真,一旦出错了,debug是很痛苦的,这次是叹号又没加队,而且初始赋值错了class Solution {private:int len1;int len2;public: void dfs(int i, int j, vector<vector<char>>& biggrid) { if (biggrid[i][j] == '0')return;

2020-05-20 14:27:03 464

原创 leetcode 300-400

@ [toc]257. 二叉树的所有路径这道题一看结果,其实就是写出所有路径的结果再变个形式,所以可以先dfs,然后变结果,常用的二叉树dfs就那几种括号里是否加!始终没有弄清,浪费了好多时间,判断是否为叶节点时应该用!left&&!right代表叶节点,而left本身就代表部位空了。另外string里面也有pop_back的方法/** * Definition for a binary tree node. * struct TreeNode { * int val;

2020-05-20 14:24:04 687

原创 c++容器各种用法总结

哈希表unordered_mapSTL中的unordered_map使用的是哈希表添加元素map[key] = value;根据索引key提取value注意:当key存在的时候会返回这个key对应的value,而不存在的时候则会直接添加进去这个key并且将value设置为1,所以这个只适用于确定key存在的情况下,可以先用find进行判断使用find查找value这两个的功能十分...

2020-04-05 01:19:26 1101

原创 c++ leetcode 500-600

文章目录542. 01 矩阵547. 朋友圈(并查集)并查集 https://blog.youkuaiyun.com/zjy_code/article/details/80634149576. 出界的路径数542. 01 矩阵在应用题中的dfs经常会遇到一个问题,在查看这个点四周的状态时,下一次递归又会回到这个地方,容易造成无限循环,在这道题中,可以使用不传入引用值,将已经搜索过的数改为其他数的情况,但这...

2020-04-02 11:47:04 380

原创 总结——数据结构

文章目录红黑树和AVL树的定义,特点,以及二者区别平衡二叉树(AVL树):红黑树:哈夫曼编码map底层为什么用红黑树实现B+树map和unordered_map的底层实现map和unordered_map优点和缺点epoll怎么实现的Top(K)问题stack overflow,并举个简单例子导致栈溢出栈和堆的区别,以及为什么栈要快两个栈实现一个队列Array&List, 数组和链表的区别...

2020-03-21 21:05:59 1206

原创 c++字符串、数组算法题

字符串(String)std::string 可更改,也可以用[]提取字符,和char[]数组使用上区别不大;substr方法:substr(n,m) n为起点,m要注意是长度而不是结束点!字符范围8位[-128.127]通常转换为unsigned [0,+255]题目类型字典序;简单操作:插入删除旋转;规则判断(罗马数字判断、整数合法、浮点数);数字运算(大数加法、二进制加...

2020-03-21 21:05:51 622

原创 leetcode1-100

C++版的leetcode,从头再来!1.两数之和下面这个代码在return的时候一直遇到问题:class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int length = sizeof(nums)/sizeof(nums[0]); ...

2020-03-21 18:13:39 1024

原创 总结——设计模式

哪些设计模式,介绍一下单例模式的多线程安全问题常见的设计模式如下:单例模式:单例模式主要解决一个全局使用的类频繁的创建和销毁的问题。单例模式下可以确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式有三个要素:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。工厂模式:工厂模式主要解决接口选择的问题。该模式下定义一个创建对象的接...

2020-03-21 11:55:22 152

原创 c++知识扫盲

->->是指针的指向运算符,通常与结构体一起使用。#include<stdio.h>struct stu // 定义一个结构体{ char name[10]; // 姓名 int num; // 学号 int age; // 年龄};void main(){ struct stu *s; // 定义一个结构体指针...

2020-03-20 23:56:12 398

原创 总结——数据库

数据库事务以及四个特性**事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。**事务是DBMS中最基础的单位,事务不可分割。事务具有4个基本特征,分别是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Duration),简称ACID。1. 原子性(Atomicity)原子性是指事务包...

2020-03-20 21:56:43 236

原创 总结——计算机网络

OSI七层模型和TCP/IP四层模型,每层列举2个协议OSI七层模型及其包含的协议如下:物理层: 通过媒介传输比特,确定机械及电气规范,传输单位为bit,主要包括的协议为:IEE802.3 CLOCK RJ45数据链路层: 将比特组装成帧和点到点的传递,传输单位为帧,主要包括的协议为MAC VLAN PPP网络层:负责数据包从源到宿的传递和网际互连,传输单位为包,主要包括的协议为IP AR...

2020-03-20 21:29:31 558

原创 总结——操作系统

文章目录进程与线程的概念,以及为什么要有进程线程,其中有什么区别,他们各自又是怎么同步的多线程和多进程的不同有了进程,为什么还要有线程?游戏服务器应该为每个用户开辟一个线程还是一个进程,为什么?多进程和多线程的使用场景单核机器上写多线程程序,是否需要考虑加锁,为什么?线程需要保存哪些上下文,SP、PC、EAX这些寄存器是干嘛用的线程间的同步方式,最好说出具体的系统调用一二进程状态转换图,动态就绪,...

2020-03-20 11:04:56 2408

原创 总结——C++方面

分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var)参考答案【解答】BOOL型变量:if(!var)int型变量: if(var0)float型变量:const float EPSINON = 0.00001;if ((x >= - EPSINON) && (x <= EPSINON)指针变量:  if(va...

2020-03-19 21:33:26 676 1

原创 动态规划问题

名人问题问题:在一个房间里有 N 个人,其中一个是名人,所谓名人就是大家都认识他,但是他不认识任何人。其它人可能认识房间里面另外的一部分人。你可以问任何人问题,但是问题只能是:你认识 X 吗,对方回答 Yes or No. 请问最少要问多少个问题才能把名人找出来?分析:我们把人编号,比如从1 到 N。我们考虑最坏情况:你问每一个人是否认识 X ,如果大家都认识,那么 X 一定是名人,如...

2020-03-18 18:05:43 274

原创 c++概率

算法题用返回0-6随机数的函数构造返回0-9随机数的函数问题:给定一个返回06的随机自然数的函数,记为rand6(),则如何用rand6()函数构造返回09随机自然数的函数rand9()?对于此问题,首先最容易想到的rand6() + 3、rand6() * 1.5、rand6()*2 - 4 等很明显都是错误的(rand6() + 3将返回的是3~9之间的随机数;rand6() * 1.5...

2020-03-18 12:21:24 1231

原创 c++图与树算法题

图与树图结构:节点、边分类:有向、无向特殊的图:二叉树、普通树、堆树的定义  树是由一个集合以及在该集合上定义的一种关系构成的,集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构,在这种层次结构中有一个结点具有特殊的地位,这个结点称为该树的根结点。数据结构中有很多树的结构,其中包括二叉树、二叉搜索树、2-3树、红黑树等等,本文着重介绍二叉树。...

2020-03-18 01:17:48 325

原创 c++堆栈算法题

栈和队列堆栈和队列统称线性表;数组和列表可以实现两种数据结构;堆栈:后进先出;深度优先-按深度遍历;递归转非递归;队列:先进先出;广度优先-按层序遍历;栈框架首先看一下原c++栈的方法的基本用法:push(): 向栈内压入一个成员;pop(): 从栈顶弹出一个成员;empty(): 如果栈为空返回true,否则返回false;top(): 返回栈顶,但不删除成员;s...

2020-03-17 15:01:34 560

原创 c++链表

线性表的顺序存储:连续的内存空间;线性表的链式存储:不连续的内存空间;链表概念链表由一系列结点组成,每个节点包含两个域,最后一个节点的指针域为空,头结点不保存信息;链表框架linklist.h文件//linklist.h:定义链表结点和方法。#include <string>using namespace std; struct Info//节点存放的数据{ s...

2020-03-16 23:17:16 325

原创 leetcode刷题(Python)

num1.两数之和本题难度不大,但是O(n2n^2n2)的复杂度算超时…我的解法:class Solution: def twoSum(self, nums, target): length = len(nums) for i in range(length): for j in range(i+1,length): ...

2020-03-13 16:50:14 769

原创 《中国象棋开发》QT

QT使用QApplication 抽象了QT的应用程序;QWidgt抽象窗口;exec()函数 进入消息循环,等待用户输入;QPainter绘图部分:void MyWidge::paintEvent(QPaintEvent *){ //绘制类,参数:绘制对象 //绘制打印机、绘制图画、拷屏 QPainter painter(this);//this代指这个...

2020-03-13 16:37:25 664

原创 C++(内存高级话题、未归类知识点)

内存高级话题new、delete的进一步认识new1)new类对象时加不加括号的问题A *pa = new A;A *pa = new A();当类中有成员变量时,带括号的初始化会把一些和成员变量有关的内存清0,但不是整个对象的内存全部清0;当类中有构造函数时,两种的结果一样;int *p = new int;//初值随机int *p = new int();//初值0int...

2020-03-09 18:27:27 2233

原创 C++入门(智能指针和并发)

智能指针直接内存管理(new/delete)new分配方式称为动态分配(分配在堆上):直接内存管理(new.delete)void func(){ int i; i = 5;//临时对象,系统在栈上进行分配,当函数结束内存被回收 static int j;//局部静态对象,在静态区域分配,执行到此语句时才会分配内存,函数执行完毕也不会释放内存}class AA a;//编...

2020-03-04 16:16:16 1739

原创 C++入门(一至四章)

应用领域项目如果既要求效率又要建模和高度抽象,选择C++;系统层软件开发;服务器程序开发;游戏、网络、分布式、云计算;科学计算C++对C的加强1.命名空间2.对全局变量定义管理的加强(不能重定义),可以随时定义(vs:F9加入断点,F5调试到断点)int abc = {5}; //等号可有可无int a[]{11,12,34};//定义数组3对struct的增强4.变...

2020-02-24 02:26:15 368

原创 算法导论

插入排序算法:从第二个开始,按照顺序查到到之前的正确位置。不需要额外的内存空间。时间复杂度:一次n长度的插入操作要比较n次,所以为n。总和O(n2)O(n^2)O(n2)。(1+2+3+4+5+67+8+9…)归并排序算法:将数组不断二分,将小的每部分排好序之后,再进行归并。需要额外的内存空间。时间复杂度:一次长度为n的归并操作为n。化成树形结构后共有logn层深(每层2分),每层加起来...

2020-01-07 19:09:26 171

原创 Redis

特点开源,BSD许可,高级的key-value,可以用来存储字符串、哈希结构,链表、集合,因此,常用来提供数据结构服务。与memcached相比1.redis可以做存储,而mencached用来做缓存,主要是因为其‘持久化’2.存储的数据有结构(字符串、链表、哈希结构),而mencached只有字符串安装过程省去,其中redis-benchmark 性能测试工具redis-che...

2020-01-05 21:54:21 151

原创 数据结构和算法

时间复杂度和空间复杂度语句总的执行次数T(n)是关于问题规模n的函数;记做T(n)=O(f(n))增长最慢的为最优算法;用常数1取代运行时间中的所有加法常数;在函数中只保留最高项;常数阶;线性阶;平方阶;对数阶;nlogn阶;立方阶;指数阶;线性表是一个序列;抽象数据类型Datadatatype元素的数据类型Operationinitlistlistempty布尔值...

2019-12-27 15:27:49 114

原创 Word2Vec

文本处理流程:preprocess:tokenize+lemma/stemming+stopwords+word_list+make features+MLtokenize英文import NLTKsent= ""tokens = NLTK.word_tokenize(sent)tokens中文import jiebaseg_list = jieba.cut("",cut...

2019-12-26 18:38:42 4175

原创 七。词向量与相关应用

NLP常见任务:1.自动摘要;2.指代消解;3.机器翻译;4.词性标注;5.分词;6.主题识别;7.文本分类;离散表示离散表示:ONE-HOT编码语料库-词典-onehot表示词典包含10个单词,每个单词有唯一索引;在词典中的顺序和在句子中的顺序没有关联;离散表示:bags or words文档的向量表示可以直接将个词的词向量表示加和;次权重:TF-IDF(没有考虑顺...

2019-12-17 23:22:45 200

原创 六.深度学习在NLP上的应用

四.机器翻译(未听)五.马尔科夫模型(未听)Intro文本分类:Text-Label行业Baseline:用Bow表示sentences,然后用LR或者SVM做回归。库:keras.io、gensimAuto-Encoder历史使命:数据降噪、数据降维encoder+decoder不需要label标注的算法CNN4Text用卷积可以实现图片直接的转换如何应用于文字?1....

2019-12-17 21:05:14 333

原创 三.主题模型

https://blog.youkuaiyun.com/qq_39422642/article/details/78730662详细介绍LDA是一种无监督的贝叶斯模型可以将文档集中每篇文档的主题按照概率分布的形式给出。同时它是一种无监督学习算法,在训练时不需要手工标注的训练集,需要的是文档集和指定主题的数量k即可。此外LDA的有点事,对于每一个主题均可找出一些词语来描述它。是一种典型的词袋模型,词与...

2019-12-15 17:40:34 212

原创 二.从语言模型到朴素贝叶斯

贝叶斯+条件独立假设=朴素贝叶斯贝叶斯贝叶斯公式:在分类问题中:P(“属于某类”|“具有某特征”)=P(“具有某特征”|“属于某类”)P(“属于某类”)/P(“具有某特征”)其中后者的统计要比前者简单的多在语言处理中,词语是最有代表性的特征。当句子分为许多词的时候,采用条件独立假设,假设每个词对结果的贡献互不相关,于是就变得非常好求。朴素贝叶斯朴素贝叶斯不考虑单词的顺序,简单直接...

2019-12-14 22:36:03 589

原创 一.NLP基础技能

python里的基本操作字符串操作去空格及特殊符号s = 'hello, world!'print(s.strip()) # 去掉两边的空格print(s.lstrip('hello, ')) # 去掉左侧字符print(s.rstrip('!')) # 去掉右侧字符hello, worldworld!hello, world连接字符串s1 = 'stracat's2...

2019-12-14 20:17:52 360

转载 RNN

内容超详细,介绍了RNN以及LSTMhttps://blog.youkuaiyun.com/zhaojc1995/article/details/80572098补充:Word2VecWord2Vec通常字符串难以被机器理解,需要此工具来转换为编码步骤1.建立字典,每个词生成one-hot编码有多少词,就建立多长的字典,每个单词对应的位置为1,其他都为02.训练数据集构建根据单词的临近关系建...

2019-12-14 14:43:40 125

原创 CNN介绍

链式反向梯度传导链式法则卷积神经网络-卷积层卷积层卷积层由多个卷积核构成,每个卷积核会计算生成一个特征图,即有几个卷积核生成的特征图的厚度就是多少假设输入维度为100100m,卷积核含有n个33m的卷积核。每个卷积核要和m层中的每一层卷积,再将m个值相加得到一层,最后输出为9898n。卷积核同输入数据进行计算的算子大小由用户定义卷积核‘'矩阵’值:卷积神经网络的参数卷积核初值随...

2019-11-18 23:58:42 727 1

原创 tensorflow入门

代码举例#!/usr/bin/env python# coding: utf-8# In[1]:import tensorflow as tf# In[2]:a = tf.constant(2)b = tf.constant(3)c=a+bd=a*b# In[5]:c# 这里可以知道其实并不是计算c的步骤,要计算从c要使用session会话激活c...

2019-11-14 17:48:08 107

原创 mysql数据库

mysql:开源、免费、跨平台常见的DBMS:甲骨文的oracle。 IBM的db2, sql server, Access ,mysql;sql规范不区分带小写;默认分号为结尾不能省略;可以换行写但是不能拆单次;可以用缩进提高可读性;单行注释-- 多行注释/…/;DDL(定义型),DML(操作型),DCL(权限型)共同构成操作语句;DDL型语句查看数据库:show d...

2019-10-20 21:40:26 134

空空如也

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

TA关注的人

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