自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大厂面试 高频 数据结构 & 算法题 【top 200】 大汇总

一、二叉树二、链表三、DFS、BFS四、动态规划

2020-07-11 14:26:19 1357

原创 【面经】小米未来星提前批

1. 项目介绍一共介绍了三个项目,面试官都问的雨露均沾(有些面试官喜欢就问你哪个项目最熟悉然后只深挖该项目),光项目介绍都问了一个小时多,而且附带问一些拓展问题PCA、LDA 等区别小波变换、母小波哪几类手撕代码题目介绍找到无序数组中最小的k个数即经典的 top K 问题,但是需要注意他们的复杂度详细见题解:【剑指 Offer】 40. 最小的k个数...

2020-07-31 23:52:22 2311

原创 MemoryError: Unable to allocate 26.4 GiB for an array with shape (3540000000,) and data type float64

1. 读取 txt 文件如果这样读取,file = open('../data/entries_en.txt', 'r')data = file.readlines()会报内存不足需要改成:with open('../file.txt', 'r') as f: for line in f: # do stuff这是逐行读取文件,而不是一次全部读取到 RAM2. 读取 tdms 文件查看 30 GB 的tdms 数据文件file_keys = TdmsFile(

2020-07-31 10:47:29 17463 6

原创 【贝叶斯分类器】超详细推导

2020-07-30 22:04:09 469

原创 【逻辑回归 Logistic Regression 】超详细推导

个人根据 西瓜书和小蓝书的详细推导,用 Latex 写的,先贴上图片,后续有时间再整理成博客版。

2020-07-30 21:49:21 1812 3

原创 Python 加载5GB 超大文件时出现Python MemoryError

如果这样读取,file = open('../data/entries_en.txt', 'r')data = file.readlines()会报内存不足需要改成:with open('../file.txt', 'r') as f: for line in f: # do stuff这是逐行读取文件,而不是一次全部读取到 RAM...

2020-07-30 20:01:12 630

原创 台大李宏毅机器学习——集成算法 Bagging Boosting

参考:台大李宏毅机器学习——集成算法

2020-07-30 09:22:33 295

原创 【百度面试】两根蜡烛,都是不均匀的,每根从单端点燃,都是耗时 1 h,求怎么记时 15 min

A、B两根蜡烛,A 点燃一端,B两端同时点燃,等B完全燃尽的时候,刚好过去 30 min,这时候再把 A 的另一端也点燃,从此刻到 A 燃尽,刚好 15 min

2020-07-29 23:22:31 362

原创 【LeetCode】39. 组合总和 & 40. 组合总数 II & 216. 组合总和 III & 1~n 这n个数组合成 m

一、组合总和(可以重复选择)1.1 题目描述给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入:candidates = [2,3,6,7], target = 7,所求解集为:[ [7], [2,2,3]]示例 2:输入:candida

2020-07-29 23:07:08 1414

原创 【面经】百度 feed 推荐算法二面

总体有点凉,问推荐系统只能说不懂1. 项目介绍正常介绍完项目,没有太深挖模仿学习和项目的区别2. 问基础知识各类激活函数BP 算法流程CNN 的参数的优化方法(各类梯度下降方法 ?)随机梯度下降、mini-batch、整个训练样本一起进去的区别gbdt 和 xgboost 的区别bagging 和 boosting 的区别介绍逻辑回归,重点从 损失函数讲起(可以与 SVM 对比)进化算法3. 手撕代码题目描述:给定 1~n 这 n 个数,取出任意个数成组合,求和等于 m

2020-07-29 22:38:59 1437

原创 2021届华为提前批面试记录

欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片

2020-07-28 22:41:14 2162

原创 【面经】字节跳动 2021届 提前批面试题

1. 开放题数据集{X, Y}猜测 y和x之间存在函数关系y = a e^(wx) + E, E~N(0, σ)请设计一个算法拟合出 a,w##########################################################λ|w+ lna|^2MSE = 1/n ∑(y - a e^(wx))^2e^(-(Y-a e^(wX))^2/σ^2)/(sqrt(2 pi)σ)log(∏p(y|x)) = K - ∑(y - a e^(wx))^2∑(

2020-07-28 22:40:32 433

原创 【面经】作业帮 2021 届提前批

1. 介绍项目还是那四点:项目背景,要解决什么问题具体思路,怎么解决问题困难,遇到什么困难,怎么解决的收获所以介绍项目的时候也基本按照这个套路介绍,关键还是解决困难还是要注意,每个自己说到的 Highlight,都有可能被深挖,被深挖的点入下:信号处理:1、FFT 推导一下,和 DFT 这些的区别,FFT 的处理步骤2、自适应滤波,卡尔曼滤波(表示一脸懵逼,没有学过)概率:1、求 std 为什么除以 (n-1) 而不是 n解答:样本方差计算公式里分母为 n−1n-1n−1 的

2020-07-28 22:36:48 929

原创 python/scipy的寻峰算法

import numpy as npimport matplotlib.pyplot as pltfrom scipy.signal import find_peaksx = np.sin(2*np.pi*(2**np.linspace(2,10,1000))*np.arange(1000)/48000) + np.random.normal(0, 1, 1000) * 0.15peaks, _ = find_peaks(x, distance=20)peaks2, _ = find_peaks

2020-07-28 17:37:56 2602

原创 【面经】百度提前批面试手撕代码题

结果:一面是过了,但是面试官说 AIDU 的要求比较高,背景还不够硬,关键时候还是要看硬性条件…非科班泪奔1、自我介绍 & 项目介绍百度 AIDU 提前批,上来先介绍项目,挑一个最熟悉的项目介绍。大概介绍了二十分钟,面试官想听的大概是项目背景,要解决什么问题具体思路,怎么解决问题困难,遇到什么困难,怎么解决的收获所以介绍项目的时候也基本按照这个套路介绍,关键还是解决困难2、开放题有一群粘性强的老用户,你有很多数据,而后来了一群新用户,他们的数据是完全空白的,怎么用老用户的数据来

2020-07-27 23:04:52 1638

原创 随机森林确定特征重要性排序

from sklearn.datasets import load_bostonfrom sklearn.ensemble import RandomForestRegressorfrom sklearn.model_selection import train_test_splitimport numpy as np#Load boston housing dataset as an exampleboston = load_boston()x = boston.datay = boston

2020-07-27 15:12:49 3797 1

原创 投骰子连续两次是 6就停止,求投掷的次数的期望 & 系列变形(字节跳动面试)

发现字节特别喜欢考概率题和开放题,倒是不怎么考 LeetCode了(算法岗)1. 投骰子连续两次是 6就停止,求投掷的次数的期望 听面试官说可以用 动态规划,但是没有思路… 使用马尔科夫链求解。记“当已经掷出x次1朝上时,直至出现连续2次1朝上所需的期望次数”为E(x)。则有:E(0) = 1 + 5/6 * E(0) + 1/6 * E(1)E(1) = 1 + 5/6 * E(0) + 1/6 * E(2)E(2) = 0解释:由E(0)状态可转换成E(0),E(1)状态(转换成E(2

2020-07-26 16:29:17 8335

原创 字节跳动面试题,给定数据集,已知函数关系,拟合参数

1. 题目描述数据集{X, Y}猜测 y和x之间存在函数关系y=ae(wx)+Ey = a e^{(wx)} + Ey=ae(wx)+E, EEE ~ N(0,σ)N (0, σ)N(0,σ)请设计一个算法拟合出 a,wa,wa,w2. 解题思路这个题目的特点是,已知函数关系,拟合参数,需要想到极大似然估计,就是已知分布,求参数。是用独立同分布系列连乘,而后取对数变成求和,而后再取极大值,求出带求参数。 极大似然估计最大似然估计的一般求解步骤:λ|w+ lna|^2MSE = 1

2020-07-26 15:25:25 1337

原创 概率p输出1,概率1-p输出0,等概率输出0和1 & 【LeetCode】470. rand7()构造rand10() 系列变形(新浪、字节面试题)

这一题在我面试中遇到两次(均为2020年7月份),新浪的比较简单,字节的做了变形,具体看后面详细分析。1. 等概率输出0和11.1 题目描述有一个随机数发生器,以概率 P 产生0,概率 (1-P) 产生 1,请问能否利用这个随机数发生器,构造出新的发生器,以 1/2 的概率产生 0 和 1 。请写明结论及推理过程。变形:知随机数生成函数f(),返回0的概率是60%,返回1的概率是40%。根据f()求随机数函数g(),使返回0和1的概率是50%,不能用已有的随机生成库函数。注意:这里的变形毫无区

2020-07-26 11:16:46 5647 2

原创 【LeetCode】232. 用栈实现队列

1. 题目描述使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2); queue.peek(); // 返回 1queue.pop(); // 返回 1queue.empty(); // 返回 false说明:你只能

2020-07-25 11:50:57 243

原创 Tensorflow 实现最简单 CNN 示例

from tensorflow.examples.tutorials.mnist import input_dataimport tensorflow as tfmnist = input_data.read_data_sets("MNIST_data/", one_hot=True) # 读取图片数据集sess = tf.InteractiveSession() # 创建session######################### 一,函数声明部分 ##################

2020-07-24 22:37:38 1545 1

原创 随机森林回归简单示例

# from sklearn.datasets import load_diabetes# from sklearn.model_selection import train_test_split# from sklearn.ensemble import ExtraTreesRegressor# X, y = load_diabetes(return_X_y=True)# X_train, X_test, y_train, y_test = train_test_split(X, y, rando

2020-07-24 16:37:03 5160

原创 Python @property 与 @staticmethod 与 @classmethod 装饰器的介绍与使用

python的@property是python的一种装饰器,是用来修饰方法的。作用:我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用,这样可以防止属性被修改。使用场景:参考:python @property的介绍与使用...

2020-07-24 16:05:29 761

原创 STL分解 Python实现

"""Issues:"ImportError: cannot import name '_maybe_get_pandas_wrapper_freq' from 'statsmodels.tsa.filters._utils' "install an old version of statsmodel works "pip install statsmodels==0.10.2"Conference:1. Cleveland et al. 1990 [ https://www.wessa.ne

2020-07-21 20:20:52 4242 3

原创 Python中错误和异常处理 try: except Exception as e:

先占坑,后续补上在开发过程中才体会到主动处理异常和错误的重要性!参考:实例五大常见Python中错误和异常!(含详细处理方法)

2020-07-18 17:15:44 3336

原创 python读取、写入txt文本内容

读取txt文本python常用的读取文件函数有三种 read()、readline()、readlines()以读取上述txt为例,看一下三者的区别1. read() 一次性读全部内容一次性读取文本中全部的内容,以字符串的形式返回结果with open("test.txt", "r") as f: # 打开文件 data = f.read() # 读取文件 print(data)参考:python读取、写入txt文本内容...

2020-07-18 17:04:28 670

原创 Batch Normalization 超详细解读(训练、测试、优点、缺点)(算法面试几乎必考)

先占坑,后续再填参考:cs231n学习笔记-激活函数-BN-参数优化BN和Dropout在训练和测试时的差别

2020-07-18 16:40:50 8967

原创 手推 梯度消失和梯度爆炸问题

采用 sigmoidsigmoidsigmoid 为激活函数,当反向传播使用 链式法则 的时候会有连乘,就会出现梯度消失。由于梯度消失现象,会导致靠近输入层的隐藏层权值更新缓慢或者更新停滞。这就导致在训练时,只等价于后面几层的浅层网络的学习。(因为推反向传播的时候才会用到 链式法则,详细见后面推导)解决办法梯度消失和梯度爆炸本质上是一样的,都是因为网络层数太深而引发的梯度反向传播中的连乘效应。解决梯度消失、爆炸主要有以下几种方案:1. 换用Relu、LeakyRelu、Elu等激活函数ReL

2020-07-18 16:34:46 894

原创 LSTM 超详细公式手推

后续有时间再转成打印版

2020-07-18 10:18:09 744 1

原创 卷积基本计算公式

1. 理论公式2. tensorflow中使用输入图片大小 W×WFilter大小 F×F步长strides Spadding的像素数 P输出大小为NxNpadding = “SAME”时,会在图像的周围填 “0”,padding = “VALID”则不需要,即 P=0。一般会选“SAME”,以来减缓图像变小的速度,二来防止边界信息丢失(即有些图像边界的信息发挥作用较少)。部署到真实的机器上时,会遇到Tensorflow 和 Caffe 的 padding 在左边补零和右边不相同的

2020-07-18 10:03:15 21722

原创 LR 和 SVM 联系与区别和联系 &核函数的使用

一、LR与SVM的相同点:都是有监督的分类算法;如果不考虑核函数,LR 和 SVM 都是线性分类算法。它们的分类决策面都是线性的。LR和SVM都是判别式模型。LR、SVM、决策树等判别式模型直接生成一个表示 P(Y|X) 或者 Y=f(X) 的判别函数。而生成式模型,例如朴素贝叶斯(NB),隐马尔可夫链(HMM),都是先计算联合概率分布 P(Y,X),然后通过贝叶斯公式转化为 P(Y|X)。LR与SVM的不同点:1、本质上是loss函数不同,或者说分类的原理不同。LR的目标是最小化模型分

2020-07-18 09:28:29 1899

原创 【面试】麻将胡牌【字节跳动】【游戏规则】【递归】

【字节跳动实习面试 2019-01-07】一、题目描述给定长度为14的整型数组,判断是否胡牌2 + 3*4 dd + (abc or aaa) * 4范围 1~9之间代表数字1~9形如 111 222 333 456 77 返回True形如 111 223 345 67 999 返回True形如 111 222 333 457 99 返回False二、解题思路把规则拆分开,分开讨论,不可能一个式子包括所有情况的from collections import Counterdef

2020-07-18 09:16:25 1571

原创 【Python】Python-numpy逻辑报错:The truth value of an array with more than one element is ambiguous. Us

报错代码:import numpy as npa=np.zeros(3)a[0]=0; a[1]=1; a[2]=2if a==[1,2,3]: print "OK"else: print "NOT OK" Traceback (most recent call last): File "<pyshell#45>", line 1, in <module> if a==[1,2,3]:ValueError: The truth value of an

2020-07-17 17:12:16 2026

原创 阶次跟踪(Order Tracking)

阶次跟踪,英文 Order Tracking,实际上对旋转机械测试信号进行采样分析的一种先进技术。目前可以进行阶次分析的信号采样方法基本有两种。一种是固定采样(Fixed Sample),另一种是同步重采样(Synchronous Sample),也称阶次跟踪(Order Tracking)。固定采样(Fixed sample)是基于时间数据 ΔtΔtΔt 的方式进行数据采样的,即对振动、噪声信号和转速脉冲信号以恒定的采样率进行等时间间隔采样。数据结果经过处理可以得到时域图和频谱图,同时也可以通过 FF

2020-07-17 11:39:56 9375 8

原创 【LeetCode】322. 零钱兑换 & 518. 零钱兑换 II

零钱兑换一、题目描述给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明: 你可以认为每种硬币的数量是无限的。二、解题思路 & 代码状态转移方程:cl

2020-07-16 23:37:18 525

原创 【leetCode】1143. 最长公共子序列(动态规划 hard)

一、题目描述给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。示例 1:输入:text1 = "abcde", text2

2020-07-16 23:20:51 714

原创 【LeetCode】56. 合并区间

一、题目描述给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。解题思路 & 代码我们用数组 merged 存储最终的答案。首先,我们将列表中的区间按照左

2020-07-16 23:05:44 447

原创 【LeetCode】72. 编辑距离(动态规划 hard)&变形(分别计算每种编辑操作的次数)& n次最短编辑距离(作业帮手撕代码题)

一、题目描述给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')示例 2:输入:word1 = "in

2020-07-16 23:00:17 1054

原创 【剑指 offer】09. 用两个栈实现队列

一、题目描述用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue","deleteHead","appendT

2020-07-16 22:51:06 356

原创 【LeetCode】105. 从前序与中序遍历序列构造二叉树

一、题目描述:根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7二、解题思路 & 代码2.1 递归思路对于任意一颗树而言,前序遍历的形式总是[ 根节点, [左子树的前序遍历结果], [右子树的前序遍历结果] ]即根节点总

2020-07-16 22:40:27 828

空空如也

空空如也

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

TA关注的人

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