自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【菜鸡刷题 - leetcode480】 滑动窗口中位数 几个要注意的点 | 有新意的解法 | python

先马一下,最近做的题太多了,特别累,来不及更新中位数获取方法1: 排序+ 索引中位数获取方法2: 对抗双顶堆small_heap : 大顶堆larger_heap : 小顶堆两种合理情况:len(small_heap ) == len(larger_heap )len(small_heap ) == len(larger_heap )+1...

2021-02-03 17:38:21 193

原创 【菜鸡刷题-leetcode778 】水位上升的泳池中游泳 |并查集 | 字典 | python

@author = YHR | 转载请标明来源!文章目录题目描述题解python 代码题目描述题解先马一下重点吧,这几天真的好累,来不及更博,刷题强度也有点大,大概马一下几个关键的地方并查集 – 连通问题官方给我最大的帮助就是并查集 不需要按结点的顺序来连通,任何俩可以连通就连通!然后出现了时间限制时间就对应threshhold,等于threshold的位置,在此刻海拔终于等于0!has been drowned然后再看同学们的解法 给我的启发就是:已经连通的.

2021-01-30 23:39:52 212 1

原创 【菜鸡刷题 - leetcode1631 最小体力消耗路径】解法一: 队列优化迪杰斯特拉 & python自带堆排序 || 解法二: 并查集 | python

@author=YHR | 转载请标明来源文章目录题目描述题目解读思路一: 队列优化迪杰斯特拉传统迪杰斯特拉队列优化的迪杰斯特拉python 自带的堆排序 与 list.sort()上代码思路二:并查集题目描述题目解读思路一: 队列优化迪杰斯特拉传统迪杰斯特拉队列优化的迪杰斯特拉python 自带的堆排序 与 list.sort()上代码class Solution: def __init__(self): self.inf = int(1e6 + 1).

2021-01-30 12:33:28 245 1

原创 【菜鸡刷题 - leetcode1128】多米诺骨牌对的数量 | 哈希表 | python

先马一下太困了,过两天来填坑! 2021/1/27 晚 23:59

2021-01-28 00:25:33 135

原创 【菜鸡刷题 - 并查集专题 1 - leetcode 1579 】alice bob 图完全可遍历 | 并查集 | python

先马一下太困了,明天要整完这三个大题噢! 2021/1/27 晚 23:59

2021-01-28 00:23:38 384 1

原创 【菜鸡刷题 - 剑指offer08】 二叉树的下一个节点 | 分类讨论 || python

@author = YHR | 转载请标明来源!文章目录题目描述代码题目描述先马一下,太困了,睡觉了!代码class treenode: def __init__(self, val, left=None, right=None, parent=None): self.val = val self.left = left self.right = right self.parent = parent # 剑指of.

2021-01-28 00:16:30 102 1

原创 【菜鸡刷题-牛客网NC61】两数之和 || 哈希表 || python

@ author = YHR | 原创不易,转载请注明来源!文章目录题目描述思路上代码题目描述给出一个整数数组,请在数组中找出两个加起来等于目标值的数给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2。注意:下标是从1开始的。假设给出的数组中只存在唯一解,例如: 给出的数组为 {20, 70, 110, 150},目标值为90,输出 index1=1, index2=2思路马一下明天写了 要搬家啦!上代码.

2021-01-26 16:38:48 625

原创 【菜鸡刷题 - 牛客网NC22】 两数组合并 || 尾开,头结 覆盖法 || python || [类似于剑指offer05] 替换空格

@author = YHR | 原创不易,转载请标明来源!|文章目录尾开,头结,从后往前覆盖法 的 原理介绍本题描述尾开,头结,从后往前覆盖法 的 原理介绍这个方法我在我的博客这一篇 【替换空格里】已经介绍过:【菜鸡刷题 - 剑指offer05】替换空格 || 两数组合并 || 尾开头结 覆盖法大家可以去这篇博客里查看思路,里面有详细的图片演示过程~这里就不详细说啦~本题描述3个关键点:数组A 有足够大的空间数组B全员插入到数组A里数组AB已经有序,(默认:从小到大).

2021-01-26 15:13:07 108

原创 【菜鸡刷题-牛客网NC76】两个栈形成一个队列 || python

@author=yhr | 原创不易 | 转载请标明来源!|文章目录题目描述思路图解上代码题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。class Solution: def push(self, node): # write code here def pop(self): # return xx思路图解重点一: 栈 、FILO 先进 后出重点二: 队列、 FIFO 先进 先出.

2021-01-26 15:03:20 138

原创 【菜鸡刷题-牛客网NC33】将两个有序的链表合并为一个新链表 ||python

# class ListNode:# def __init__(self, x):# self.val = x# self.next = None ### @param l1 ListNode类# @param l2 ListNode类# @return ListNode类#class Solution: def merge(self, l1, l2): head = ListNode(-65535) # 申请新链表的头

2021-01-26 14:14:31 192

原创 【菜鸡刷题-牛客网NC15】层序遍历 || bfs || 层数计数 || python

@author = YHR | 代码原创 | 创作不易!转载请标明来源!文章目录题目描述题目重点python代码题目描述给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)例如:给定的二叉树是:题目重点同一层从左到右按顺序存储;每一层,对应于 数组一个维度。每一层的所有结点都存在数组的同一维度里;思路关键词: 层序遍历 – bfs – 队列 – 层数计数要注意的有几点:与普通BFS层序遍历,每次结点入队不同,这里入队的是另一种结构: 【结点.

2021-01-22 13:44:53 294 1

原创 【菜鸡刷题-牛客网NC88】寻找第K大数字 || 递归快排 || 二分递归快排 || python

@author = YHR | 代码原创 | 创作不易,转载请标明来源!文章目录题目描述普通快排 - 从大到小二分快排 - 从大到小题目描述有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。注意,第K大,是从大到小,下标为第K-1个数!普通快排 - 从大到小不多作介绍了,大家可以自行查询快排的原理~ def fast_sort(self, a, low, high):.

2021-01-22 13:16:47 116 1

原创 【菜鸡刷题-剑指offer06 - 牛客NC78】从尾到头打印链表 || 三种解法 || 遍历+栈 | 递归 | 头插法 反转链表 || python

@author = YHR | 代码原创 | 转载请标明来源!文章目录题目描述解法一: 遍历 + 栈解法二: 递归解法三: 反转链表 - (牛客NC78)题目描述输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)一个简单的反向遍历链表的题目~解法一: 遍历 + 栈1. 从头节点,依次遍历末尾,每次遍历节点的值压栈;2. 栈依次pop,返回到数组中。(栈先进后出)从头节点,P指针依次遍历,直至链表末尾,每次遍历节点的值压栈 :栈依次pop,返回到数组中.

2021-01-22 13:05:06 131 1

原创 【菜鸡刷题-牛客网NC68】青蛙跳台阶 | 斐波那契数列 | 二叉树 | 递归实现 | 迭代实现 | python

@author = yhr | 若需要转载,请标明本文来源!文章目录题目描述抓重点题分析递归实现 - 不推荐迭代实现斐波那契数列 - ⭐ 推荐 ⭐题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?(先后次序不同算不同的结果)以 N=5 为例,输出 8 种路径。抓重点题目理解为:从0开始,每次+1或者+2,有几种方式可以得到N?以 N=5 为例,输出 8 种路径。那么可以反过来理解为:从N倒退,每次-1或者-2,有几种方式.

2021-01-21 22:08:35 276

原创 【菜鸡刷题-NC119】找出其中最小的K个数 || 迭代堆排序|| 小顶堆 || python

@author = YHR | 代码原创 | 转载请标明来源文章目录题目描述方法代码题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。方法代码简单的排序 – 快排/ 冒泡/ 啥都可以但本宝宝就想用【小顶堆】的【迭代】排序… 反复熟悉一下他,毕竟他可是最好最坏的时间复杂度都为 O(nlogN)的好算法~ ,此外 空间为O(1)哦~ 虽然他不稳定啦。异常情况处理 # 边界情况处理 .

2021-01-21 14:32:08 131

原创 【菜鸡刷题 - 剑指offer05】替换空格 || 两有序数组合并 || 尾开头结 覆盖法

@author=yhr | 思路来源于剑指offer文章目录题目描述思路分析解法题目描述官方原题:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。个人补充: 把两个有序数组合并到一个数组。(放到最后讲)思路分析如果要从前往后,遍历整个字符串,然后每次遇到空格就要插入 ”%20“,整个字符串后移,可就太麻烦啦! 就像顺序存储插入字符一样,插入n 个字符的复杂度可达 O(n^2)!官方解法:提前知道一共有多少个空格 (遍历一遍字符串 ,O(N)) ,然

2021-01-21 14:05:27 130 1

原创 【菜鸡刷题- 剑指offer04】二维数组中的查找 || 利用 和分界点 的比较 缩小范围 || python

@author = yhr | 原思路来自剑指offer文章目录题目描述:找题目重点:典型思路介绍:利用 和分界点 的比较 缩小范围python代码题目描述:在一个 n * m的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。找题目重点:行n, 列m每行从左到右递增 --> 最左列为本行最小元素; 最右列为本行最大元素每列从上到下递增 --> 最

2021-01-21 13:07:16 126 1

原创 【菜鸡新手 - 剑指offer 03】[2021/1/17一刷] 找出数组中重复的数字 -三种解法|| 物归原主,测试碰撞法 || hash表测试碰撞法 || 排序+遍历法 ||python

文章目录题目解读A. 书籍推荐解法:我起名为“ 物归原主,测试碰撞”法B. 基础尝试1:hash表 + 碰撞测试 (效果还行)C. 基础尝试2:排序+遍历 (效果差)C.1 排序:1. 手撸的递归快排 (时长过长,失败):2. 调用python自带排序函数 list.sort() (成功)C.2 遍历:1. 找到任意一个重复数:2. 找到所有的重复数:本博客为辛苦原创,代码与思想参照与剑指Offer,但是解读 与 图 与 代码 均出自原创,这篇博客可以参考,禁止转载!@author =yhr题

2021-01-17 12:44:49 291 1

原创 【菜鸡新手 - 牛客网刷题NC105】有重复数字的升序数组,二分查找第一个大于等于查找值的位置 - 二分查找 || 统称为找不到的情况 || python

普通二分查找 回顾

2021-01-17 11:09:37 1254 1

原创 【菜鸡新手 - 牛客网刷题NC45 & 剑指offer07】根据 前序遍历 & 中序遍历 重建二叉树 || 二叉树 前、中、后 、层序 遍历 的【递归 】& 【迭代】 || python

以下为原创代码,可以参考,但禁止转载!@ author:yhr目录根据 前序遍历序列 & 中序遍历序列 生成二叉树递归 : 三种遍历迭代 : 三种遍历层序遍历调用示例根据 前序遍历序列 & 中序遍历序列 生成二叉树#coding=utf-8#__author__='YHR'import copyclass TreeNode: def __init__(self, x): self.val = x self.left = None

2021-01-15 22:41:23 153

原创 【菜鸡新手 - 牛客网刷题NC4】判断单链表重是否有环 || 快慢指针 ||(新添解法2: “变异”删除节点)|| python

快慢指针有环相遇证明代码class Solution: def hasCycle(self, head): slow = head fast = head circleFalg = 0 while fast is not None: # 无环时,fast一定早于slow到达终点,除非只有一个节点 # 但这也不妨碍只判断 fast if fast.next is n...

2021-01-14 22:53:10 181

原创 【JAVA从0开始学习喽】0. JVM & JRE & JDK 学习笔记 (from 尚硅谷视频)

JVM : java 运行的一个虚拟机JVM:Java Virtual Machine 是Java的虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机.所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。就像明星去不同的城市(操作系统),开演唱会(运行JAVA程序),需要搭建舞台(JVM),才能开始唱歌。JDK:Java development k

2021-01-14 14:26:12 97

原创 【JAVA从0开始学习喽】1. 新建一个.java文件/ 创建类/ 方法的调用 / doc文档注释 / javac.exe编译 / java.exe运行

总结:一. java程序分为 编写-编译-运行三大过程java程序由我们编写,保存在.java的源文件中javac.exe 将xxx.java 编译为字节码文件xxx.class: eg: javac xxx.javajava.exe 解释运行 字节码文件xxx.class。 eg: javac xxx二. 在一个java源文件(.java)里面可以同时申明多个类,但是仅有一个可以申明为 public的类,且与当前的 .java同名三. 程序的入口是 mai

2021-01-14 13:48:03 162

原创 华为ICLR2020,neurlIPS2019 的 github代码地址

地址就是这个 !github源码:https://github.com/huawei-noah/trustworthyAICausal_Discovery_RL: codes, datasets, and training logs of theexperimental results for the paper ‘Causal discovery with reinforcement lea...

2020-04-10 18:31:55 780

原创 一维卷积 以例子说明 tf.nn.conv1d 矩阵运算过程

这几天在看代码,然后看网上关于一维卷积介绍的文档很多,但是对于tf.nn.conv1d 矩阵运算过程几乎没有介绍,这里我就将刚弄懂的写出来,希望能帮到大家理解这个函数,也为了让自己以后能更好的查阅~~conv1d(value, filters, stride, padding, use_cudnn_on_gpu=None, data_format=None, name=None)valu...

2020-03-26 00:04:21 2406 2

原创 图解深度学习的笔记:1.MP模型,感知器,BP下的多层感知器

M-P模型:它是首个通过模仿神经元而成的模型,其中只有两层:输入层x1…xn和输出层y;权值w1…wn。但是由于M-P的权值只能事先给定,不能自动确定权值,感知器应运而生。↓感知器:可以根据有监督学习,自动确定权值。设定训练样本和期望输出,以误差修正方法来调整实际权值。但感知器只能解决线性可分问题,不能解决线性不可分问题↓初期多层感知器被提出来解决线性不可分问题↓但是由于误差修正只...

2019-03-31 20:35:27 4841 3

原创 4. python里如何使用成熟的现有PCA包

PCA,SVD原理介绍及python下的具体实现及包的调用1. PCA原理介绍2. PCA+SVD原理介绍3. python下编写代码实现PCA+SVD4. python里如何使用成熟的现有PCA包整体调用函数:预处理函数:调用sklearn的包:1. PCA原理介绍详情参见我的上一篇博客:PCA原理介绍2. PCA+SVD原理介绍详情参见我的上一篇博客:PCA+SVD原理介绍3. py...

2019-03-26 20:43:40 4565

原创 3. python下编写代码实现PCA+SVD

python下编写代码实现PCA+SVD1. PCA原理介绍2. PCA+SVD原理介绍3. python下编写代码实现PCA+SVD3.1 训练集和测试集怎么处理?预处理时:PCA降维时:3.2 预处理的代码:整体调用函数:预处理 NormalizeData(dataX, dataTestX):PCA降维:方法一: 对协方差矩阵做SVD方法二: 对原始样本做SVD4. python里使用成熟的...

2019-03-26 19:51:47 3772 5

原创 2. PCA+SVD原理介绍 (附PCA,PCA+SVD在python下的具体代码实践,python成熟PCA+SVD包的调用,训练集测试集在PCA时注意事项的链接)

PCA,SVD原理介绍及python下的具体实现及包的调用1. PCA原理介绍2. PCA+SVD原理介绍2.1 SVD公式简单介绍:2.2 SVD和PCA之间的联系:2.2.1 SVD与PCA联系的简单数学推理(很简单理解的!):2.2.2 SVD优化PCA:3. python下编写代码实现PCA+SVD4. python里如何使用成熟的现有PCA包5. 训练集测试集在PCA时注意事项1. P...

2019-03-26 17:04:28 2394 1

原创 1. PCA的原理介绍 (附PCA+SVD原理介绍,PCA+SVD在python下的具体代码实践,python成熟PCA+SVD包的调用,训练集测试集在PCA时注意事项的链接)

好久没更博客了,最近刚做完毕设,打算就用到的方法大概的做几个简介,有些方法网上也有很多简介,但是多多少少我发现都有点不太仔细或者便于理解,今天刚好总结一下这段时间用到的算法之一,然后也算梳理一下思绪。PCA,SVD原理介绍及python下的具体实现及包的调用1. PCA原理介绍1.1 降维动机与维度灾难1.2 PCA降维理论介绍1.3 PCA降维具体步骤 1.3.1 数据预处理:零均值化(必...

2019-03-26 15:14:40 4728 2

原创 Python 信息熵 条件信息熵 互信息(信息增益)的理解以及计算代码

好久没更新博客了,最近在学习python的贝叶斯网络构造,卡在k2算法给无向图打分这一步很久了,然后微微头疼,决定把之前构造无向图里的自己写的小功能函数放出来,记录一下自己的成长过程,我比较菜,写出来如果有错误希望有缘人看到能够给出指正,如果没有错误,希望给路过的有缘人一些帮助!文章知识大部分摘自 通俗理解条件熵(代码为原创,转载请标明!)1 信息熵以及引出条件熵1.1 信息熵信息熵...

2018-10-17 17:20:47 11374 5

原创 记录我的爬虫之路2-- headers的修改 && 控制访问频率

一. 修改headers——————————————————————————————————————————————————1. 方法一: 通过字典的形式参数传给request:因为咱们的爬虫访问网站留下的useragent是pythonxxx,人一看就知道是爬虫了~万一网站采取反爬措施呢?咱们该怎么办呢?今天就介绍一下 userAgent的修改→修改headers用上个博客的爬取有道翻译...

2018-09-18 09:13:45 2191

原创 记录我的爬虫之路1--爬虫起步的urlib.request Python写一个不用Scrapy框架的裸奔小幼儿爬爬

这几天得知保研失败了….刚好卡在保研名额外一名…虽然最近写什么东西都忍不住碎碎念叨这一句话 =。=,但是好像也觉得能找到喜欢的东西了~比如现在打算认真学的爬虫了~今天刚把小甲鱼入门python的爬虫部分学完,利用scrapy框架能顺利地爬出dmoztools的一点小东西了,所以先做个回顾,具体的写一些最近学习的知识,便于下一阶段的学习! 不管怎么样,希望能快快找到实习~新生活还是得开始的嘛! ...

2018-09-13 21:46:01 474

原创 小甲鱼零基础学习python_32 【python中的模块】

什么是模块?→ 模块是一种高级封装;容器 → 元组 字典 字符串 列表:数据的封装函数 → 语句的封装类 → 方法(函数) 和 属性(数据)的封装↓模块,就是程序,比如.py文件就是一个独立的文件一. 导入模块:...

2018-09-05 20:19:17 383

原创 小甲鱼零基础学习python_31 【python中魔法方法六:迭代器和生成器】

1. 迭代器我们接触的迭代器通常指 序列:字符串 字典 列表 元组….迭代器可以理解为一个对数据的打包:以下是几个迭代器的例子:1.1.1 字符串的迭代:for i in 'FISHC': print(i)1.1.2 字典的迭代:(字典迭代器里取出来的是键值key)links ={'yhr':'ysp has a daughter', '...

2018-09-04 14:35:44 410 2

原创 小甲鱼零基础学习python_30 【python中魔法方法五:定制序列】

协议容器类型的协议:1. 如果你希望定制的容器是不可变的话,你只需要定义:len(self) 和 getitem(self,key)方法2. 如果你希望定制的容器是可变的话,你除了需要定义:len(self) 和 getitem(self,key)方法外还需要定义:setitem(self,key)和 delitem(self,key)方法Eg: 编写一个...

2018-09-03 17:58:47 588 1

原创 小甲鱼零基础学习python_29 【python中魔法方法四:描述符】

心塞,这几天学的醉生梦死,微微敷衍了事,但是emmm,明天就要出发去北京了,想着出发之前来个这几天学的笔记大完结吧…… 学校今天发了通知,说保研的名单公示时间推迟到9.16到9.25之间…..处于保研边缘的我心是塞的…… 这几天干脆早点去学校准备实习的笔试吧 其实我是想走数据这条路….但是数据好多公司把我拒绝,理由是经历不符合….唉,但是不管怎么样,我是冲着python的爬虫来学小甲鱼的...

2018-09-03 17:45:40 402

转载 魔法方法——简单定制(__str__ 和__repr__)

魔法方法——简单定制(str 和repr)读书笔记: repr和str这两个方法都是用于显示的,str是面向用户的,而repr面向程序员。 repr是representation及描述的意思。 想使用print(Object)显示对象,那就需要重构str。 想直接输入类对象来打印,那就需要重构repr。 在python语言里,str一般是格式是这样的:class A:...

2018-09-01 20:10:13 453 1

原创 小甲鱼零基础学习python_28 【python中魔法方法三:属性访问】

今天介绍以下四个访问属性的魔法方法: __getattribute__(self, item): __getattr__(self, item): __setattr__(self, key, value): __delattr__(self, item):先定义一个类用来做实验:class C: def __getattribute__(...

2018-09-01 19:57:45 424 1

原创 python自制定时器小例子及time模块详解

1. 自制定时器 class Mytimer(): def __init__(self): self.__tips='未开始计时!' self.__unit=['年', '月', '日', '小时', '分钟', '秒'] self.__borrow=[0,12,31,24,60,60] self.__last...

2018-09-01 19:42:12 1794 1

空空如也

空空如也

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

TA关注的人

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