自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

给我也整一个

Stay foolish, stay hungry.

  • 博客(66)
  • 资源 (3)
  • 收藏
  • 关注

原创 LeetCode 51,52 N皇后问题

目录问题解析代码问题N皇后问题是典型的回溯法问题,大学算法课上一般都会讲。问题大致意思如下,国际象棋中有一个棋子叫皇后,皇后可以攻击和她同处一行、一列、对角线的其它棋子,加入给定一个棋盘N*N,如何摆放N个皇后使得她们之间不能相互攻击。LeetCode 51需要返回所有可能的棋子摆放,而52只需要返回有多少种可能即可。解析大框架知道了,前面的文章已经介绍了回溯法的基本框架: public void backtrack(List<Integer> list, int i, int n

2020-09-09 15:15:37 219

原创 LeetCode 139,140 单词拆分

目录

2020-08-25 21:39:05 196

原创 一文总结推荐算法岗基础——机器学习部分

目录大纲数据部分模型部分训练部分评估部分引用大纲数据部分模型部分4、什么是生成模型和判别模型,差别是什么?5、LR的数学原理,LR是线性模型吗?为什么?熵越大,不确定的程度越多,我们需要分布在满足条件的要求下越均匀越好。我们建模Y|X,并且前提预测了Y|X满足伯努利分布,所以我们只需要知道P(Y|X),其次我们需要一个线性模型,那么只需要用最大熵模型确定f即可,伯努利的指数分布簇就是sigmoid形式。LR为什么是线性模型,判断一个模型是不是线性的,自变量是否只被一个参数影响以及决策边界是否

2020-08-17 16:26:31 750

原创 LeetCode技巧篇(三)双指针中的快慢指针

介绍实例总结

2020-07-15 20:39:11 229

原创 LeetCode技巧篇(二)Two points for Sliding Window 滑动窗口中的双指针

介绍实例总结

2020-06-26 17:05:40 276

原创 LeetCode 1011. Capacity To Ship Packages Within D Days

问题要将传送带上的物品在D天内送到目的地。给定一个整形数组weights,每一个元素weights[i]表示第i个物品的重量。现在要求得能在D天内运送货物的船的最小承重。实例:输入: weights = [1,2,3,4,5,6,7,8,9,10], D = 5输出: 15解释: A ship capacity of 15 is the minimum to ship all the packages in 5 days like this:1st day: 1, 2, 3, 4, 52nd

2020-06-02 14:38:09 210

原创 深入理解支持向量机

文章目录从感知机说起三大核心支持向量KKT条件核方法总结Preference从感知机说起三大核心支持向量KKT条件核方法总结Preference

2020-06-01 22:06:01 384

原创 LeetCode技巧篇(一)prefix sum 前缀和

介绍前缀和(prefix sum)是算法题中比较实用的一种技巧,当算法题的背景是整数型数组且出现 “子数组和” 或者 **“连续的子数组”**既可以考虑使用前缀和来求解会得到不错的效果。假设给定的数组A各个元素分别为:那么我们可以得到一个前缀和数组B,通过累加A[0:i-1]得到B[i]:在实现上,可以直接在数组B的基础上累加即可,不需要遍历一遍A。实例现在看一道简单的应用,LeetCode 560. Subarray Sum Equals K。题目很简单,找到连续子数组和为K的子数组个数。

2020-05-29 12:52:45 6973

原创 LeetCode 1010. Pairs of Songs With Total Durations Divisible by 60

问题在歌曲列表中,第i首歌有一个持续time[i]秒。返回歌曲总时长(秒)可被60整除的歌曲对数。即返回能使time[i]+time[j]能被60整除的i,j对数。输入: [30,20,150,100,40]输出: 3解释: 有三对i,j使得歌曲持续时间之和能被60整除:(time[0] = 30, time[2] = 150): total duration 180(time[1] = 20, time[3] = 100): total duration 120(time[1] = 20,

2020-05-27 10:39:13 191

原创 LeetCode 842 Split Array into Fibonacci Sequence

问题将字符串分割出形如斐波那契数列的字符串数组。给定一个数字串S,例如S =“123456579”,我们可以将它分割成一个类似于斐波那契的序列[123,456,579]。满足三个条件:1,长度必须大于3;2、每一个元素的值必须是整数范围内;3、满足斐波那契数列的性质解析这是典型的回溯法解决的问题。首先从1出发,然后假设第2个数字是2,那么继续往下判断;当无法构成斐波那契数列时,就回溯到原来位置,变成23…。然后接着改变第一个位置1,以此类推,直到最后所有的字符切分后能构成一个满足要求的数组。Jav

2020-05-26 21:26:15 122

原创 算法中常用的位操作

或,与,异或,非奇淫技巧|操作:两个二进制数字按位取或运算,只要有一个1则最后结果为1;&运算:两个二进制数字按位取与运算,只有两个都是1则最后结果为1;^运算:两个二进制数字按位取异或运算,两个数相同取0不相同取1;基于这样的性质可以得到一个异或的特点,那就是相同的两个数异或为0,其中一个数为0时异或的结果是原来的数。~运算:对一个二进制数字按位取非运算,即0和1互换。1、转换大小写('a' | ' ') = 'a'('A' | ' ') = 'a' //转换成大写('b' &a

2020-05-26 09:18:02 248

原创 数据降维可视化工具——openTSNE

文章目录标题标题

2020-05-14 11:36:23 3243 3

原创 LeetCode 105, 106, 889 Construct Binary Tree from two traversal orders

问题已知二叉树的两种遍历顺序(先序,中序,后序),构造完整的二叉树。三道题分别是LeetCode 105,LeetCode 106,LeetCode 889。分析先看看三种遍历顺序有哪些特点:先序遍历:[根节点,左子树,右子树],然后每个左子树或者右子树又可以递归的继续划分中序遍历:[左子树,根节点,右子树],然后每个左子树或者右子树又可以递归的继续划分后序遍历:[左子树,右子树,根节点],然后每个左子树或者右子树又可以递归的继续划分那么问题就可以划分为先根据两种遍历顺序来确定根节点位置:

2020-05-11 13:48:52 123

原创 LeetCode 60. Permutation Sequence 简洁高效的解法

问题集合[1,2,3……,n]共包含n!不同的排列,把他们从小到大排序可以得到:"123""132""213""231""312""321"现在给定nnn和kkk,找到第kkk个全排列。解析回溯是解决全排列问题的最最最通用的解法,当然,同样适用于该问题。但是用回溯解决该问题复杂度实在太高,而且这里不需要求得所有的全排列,只需要求第kkk个全排列,所以我们可以转变一下思路。我们...

2020-04-29 01:05:21 204

原创 LeetCode 246 & 313 丑数

问题找到第n个超级丑数。超级丑数是正数,且它的所有质因数都在给定的质数列表中。246是313的特殊情况,即指定质因子的个数和值。第一个丑数是1。输入: n = 12, primes = [2,7,13,19]输出: 32 解释: [1,2,4,7,8,13,14,16,19,26,28,32] 是给定大小为4的质数数组 [2,7,13,19]的前12个丑数序列.解析一种最直观的解法...

2020-04-11 15:28:15 139

原创 机器学习算法工程师 实习面经

美团(二面之后横向对比,相当于备胎)一面自我介绍(第一次面试自我介绍就三句话,-_-||)觉得自己做得最好的项目,balabala你是做深度学习的,介绍一下你构建神经网络时候用到的激活函数,并说一下它们之间的区别。你的研究方向是推荐,说一下推荐系统的研究轨迹(CF,基于矩阵分解,概率图模型,深度,基于GNN,不知道对不对-_-||)评估指标AUC是什么,有什么特点?NLP和CV了解...

2020-04-03 12:02:16 469

原创 LeetCode 93 Restore IP Addresses 递归和非递归解法

问题给定一个只包含数字的字符串,返回所有有效IP地址的组合。输入:"25525511135"输出:["255.255.11.135", "255.255.111.35"]解析首先字符串只可能切成四份,每一份都必须是有效的IP段位,即0~255。第一种解法,暴力求解,三重循环:第一层循环判断第一个段位是否有效且后续字符串的长度是否大于9(后续三个段位长度最大就是9),是进行下一次循环;后...

2020-04-01 15:57:31 267

原创 LeetCode 90. Subsets II 非回溯解法

问题给定一个数组,找到所有的真子集。要求,不能重复。输入:[1,2,2]输出:[[],[1],[2],[1,2],[2,2],[1,2,2]]解析显然对于求子集、全排列问题,第一眼想到的解法是回溯。但是,对于这类求子集的问题还有一种更加直观明了的解法。首先,list集合中只有一个空数组[],然后遍历数组,给list集合中每个数组添加当前位置的数并添加回list集合中,于是list集合中...

2020-03-31 11:25:13 125

原创 机器学习树模型——随机森林和AdaBoost

文章目录介绍集成学习随机森林介绍集成学习随机森林

2020-03-30 15:44:56 805

原创 Java实现二叉树的搜索和遍历

文章目录树的搜索深度优先搜索(Deep First Search)广度优先搜索(Breadth First Search)树的遍历前序遍历(PreOrder)中序遍历(InOrder)后序遍历(PostOrder)树是一种常见的数据结构,由一系列节点和节点之间的关系组成。树的搜索和遍历是笔试和面试经常考的。最基本的树——二叉树,顾名思义,父节点最多只有两个子节点。我们先创建一个树节点类:pub...

2020-03-23 18:26:31 364

原创 机器学习树模型——从决策树开始

文章目录介绍特征选择信息增益——ID3信息增益比——C4.5Gini指数——CART介绍决策树(Decision Tree)是一类基本的分类和回归方法,它的生成过程可以简单的概括为if-then——即满足某个条件,进行下一步,直到能通过这样的方式递归区分所有的样本。同时决策树又可以作为集成模型的基模型。比如决策树通过Bagging可以集成为随机森林(Random Forest),GBDT选择C...

2020-03-18 18:11:35 231

原创 机器学习 推荐系统常见指标计算

文章目录机器学习常见指标计算Precision 、Recall 和F1 ScoreAUC 和 ROC推荐系统常见指标计算HR 和 NDCGMRR 和 MAPMSE、 RMSE和MAE机器学习常见指标计算Precision 、Recall 和F1 Score精确率(Precision)和召回率(Recall)是机器学习中最常见的评估一个分类模型性能的指标。预测为正预测为负...

2020-03-18 10:23:37 897

原创 逻辑回归 Logistic Regression

文章目录介绍Sigmoid函数LR模型参数估计介绍逻辑回归(Logistic Regression)是机器学习中一种应用非常广泛的分类预测算法,而且简单。工业中广泛应用LR算法,例如CTR预估,推荐系统等。逻辑回归模型的预测函数为:hw,b(x)=11+e−(wTx+b)h_{w,b}(x) = \frac{1}{1+e^{-(w^\mathrm{T}x+b)}}hw,b​(x)=1+e−(...

2020-03-14 21:55:20 181

原创 朴素贝叶斯法

文章目录介绍参数估计极大似然估计贝叶斯估计Reference介绍朴素贝叶斯法是一种经典的生成模型。所谓生成模型,就是通过学习输入数据和输出数据的联合概率分布P(X,Y)P(X,Y)P(X,Y)来求得后验概率P(Y∣X)P(Y|X)P(Y∣X)。再具体一点就是利用训练数据来学习P(Y)P(Y)P(Y)和P(X∣Y)P(X|Y)P(X∣Y)的估计,然后得到联合概率分布:P(X,Y)=P(Y)P(...

2020-03-14 11:56:50 111

原创 LeetCode Combination Sum I,II,III,IV

介绍LeetCode300题小目标达成这是一类问题,都可以用backtrack(回溯法)来求,这里放在一起比较一下异同。首先是Combination Sum I,问题:给定一个int数组,不包含重复数字,现在需要从里面可重复地取出一些数使得它们的和为target,返回所有不同的取法。这里可以从两个角度考虑:1.每次往arr里面添加数据,比如添加1,那么剩下的就是在数据集中找到和为target-...

2020-03-14 10:29:15 212

原创 LeetCode 565. Array Nesting

问题长度为N的零索引数组A包含从0到N-1的所有整数。查找并返回集合S的最长长度,其中S[i] = {A[i], A[A[i]], A[A[A]], A[A[i]],…服从以下规则。假设S中的第一个元素以index = i的元素A[i]的选择开始,那么S中的下一个元素应该是A[A[i]],然后是A[A[A[i]]……输入: A = [5,4,0,3,1,6,2]输出: 4解释: A[0]...

2020-03-13 13:55:22 150

原创 LeetCode 357. Count Numbers with Unique Digits

问题给定一个非负整数n,计算所有唯一数字x,其中0≤x < 10n10^n10n。输入: 2输出: 91 解释: 最后的结果应该是在 0 ≤ x < 100范围内数字的总数, 除去11,22,33,44,55,66,77,88,99,因为它们包含了相同的数字。解析这个问题其实是一个数学问题,要想求得[0,10n)[0,10^n)[0,10n)内包含不同数字字符的数的个数,...

2020-03-11 13:50:03 111

原创 LeetCode 376. Wiggle Subsequence 非常简单的解法

问题如果连续数之间的差值严格地交替出现在正数和负数之间,那么这个数列就称为摆动数列。第一个区别(如果存在的话)可能是积极的,也可能是消极的。一个少于两个元素的序列通常是一个摆动序列。例如,[1,7,4,9,2,5]是一个摆动序列,因为差异(6,-3,5,-7,3)交替为正和负。相反,[1,4,7,2,5]和[1,7,4,5,5]不是摆动序列,第一个是因为它的前两个差异是正的,第二个是因为它的最后...

2020-03-11 10:28:16 188

原创 LeetCode 322. Coin Change 经典问题,硬币兑换

问题你会得到不同面值的硬币和总额。写一个函数来计算最少数量的硬币,你需要弥补这个数量。如果那笔钱不能由硬币的任何组合来补足,则返回-1。输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1解析和LeetCode 279类似,也是背包问题的一个变种,dp[i]=min(dp[i−coins[j]]+1),j∈[0,coin...

2020-03-10 20:42:57 370

原创 LeetCode 916. Word Subsets

问题我们有两个数组A和B的单词。每个单词都是一串小写字母。现在,假设单词b是单词a的子集如果b中的每个字母都出现在a中,并且可以出现多次。例如,“wrr”是“warrior”的子集,但不是“world”的子集。现在说一个来自a的词a是普遍的如果对于b中的每一个b, b是a的子集。返回a中所有通用单词的列表。这些单词的顺序可以是任意的。解析题目很直观,同样我们给出一个更加直观的解法。我们先将字...

2020-03-06 21:11:37 173

原创 LeetCode583. Delete Operation for Two Strings

问题给定两个单词word1和word2,找出使word1和word2相同所需的最小步骤数,在每个步骤中可以删除任意字符串中的一个字符。输入: "sea", "eat"输出: 2解释: 你需要一步让“sea”变成“ea”,另一步让“eat”变成“ea”。解析乍一看看编辑距离差不多,其实最接近的是最长公共子序列问题。求得最长公共子序列之后,用原本字符串的长度之和减掉2个最长公共子序列的长...

2020-03-06 15:00:49 205

原创 Leetcode 486. Predict the Winner

预测赢家给出一个非负整数的分数数组。玩家1从数组的任意一端(首尾)选择一个数字,然后是玩家2重复此操作,然后是玩家1,以此类推。每次玩家选择一个号码时,该号码将不能用于下一个玩家。这将持续到所有的分数被选择。得分最高的玩家获胜。给定一组分数,预测玩家1是否获胜。你可以假设每个球员都是为了最大化自己的得分。输入: [1, 5, 2]输出: False解释: 最初,玩家1可以选择1和2。如...

2020-02-26 15:25:21 106

原创 LeetCode 1105. Filling Bookcase Shelves

问题有一个书的高度和宽度组成的序列,现在需要把这些书按照顺序放进书架子上,书架子的宽度是固定的shelf_widthshelf\_widthshelf_width。现在需要找到书柜最小高度。注意,在上述过程的每个步骤中,我们放置图书的顺序与给定的图书顺序相同。例如,如果我们有一个5本书的有序列表,我们可以把第一和第二本书放在第一个书架上,第三本书放在第二个书架上,第四和第五本书放在最后一个书架上...

2020-02-23 17:28:43 216

原创 LeetCode 712. Minimum ASCII Delete Sum for Two Strings

问题给定两个字符串,这些字符串只由a~z组成,现在需要删掉一些字符使得这两个字符串相等,求删掉的字符的ASCII码值之和最小实例输入: s1 = "sea", s2 = "eat"输出: 231解释: s1中删除字符‘s’,码值为115;s2中删除字符‘t’,码值为116,两者相加即为最后的结果。解析该题由LCS(最长公共子串)演变而来,其实LCS就是删掉的字符之后s1和s2剩下的...

2020-02-21 20:26:02 112

原创 Leetcode 279. Perfect Squares

问题给定一个正整数n,找到和为n的平方数的个数最小值。例子输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.解析该问题和背包问题很像。假设dp[i]表示和为i的平方数个数最小值。那么dp[i]=min(dp[i−j∗j]+1)dp[i] = min(dp[i-j*j]+1)dp[i]=min(dp[i−j∗j]+1),其中j∈j\inj∈[1,n\sqrt {n...

2020-02-20 15:29:35 102

原创 LeetCode 1027. Longest Arithmetic Sequence

问题找到最长等差子序列。例子输入: [3,6,9,12]输出: 4解释: 那么最长等差子序列的长度为4.输入: [9,4,7,2,10]输出: 3解释: 最长等差子序列为[4,7,10].解析这题和最长公共子序列(LCS)很像,不过不同的是每次比较需要保存差值。这样我们建一个map数组,key为两个数的差值,value为该差值出现的次数。dp[i]表示从0到第i个数所有...

2020-02-19 15:53:08 123

原创 Leetcode 63 Unique Paths II

问题描述假设有一个机器人从一个 m*n的网格的左上角移动到右下角,这个机器人只能向右移动或者向下移动,而且网格里有可能有障碍物阻挡前进,如下图所示:网格无障碍物记为0,有障碍物记为1。实例输入:[ [0,0,0], [0,1,0], [0,0,0]]输出: 2解释:上述3*3网格的中间有一个障碍物,因此一共有两种不同的路径:1. Right -> Right...

2020-02-13 20:37:13 85

原创 Leetcode 931 Minimum Falling Path Sum

问题描述给定一个方阵A,我们想要得到A的最小下降路径元素之和。下降路径是指从第一行开始,每一行都选择一个元素,但是下一行选择的元素必须是和前一行最多相隔一列。例子输入: [[1,2,3],[4,5,6],[7,8,9]]输出: 12解释: 那么可能的下降路径为: - [1,4,7], [1,4,8], [1,5,7], [1,5,8], [1,5,9] - [2,4,7], [2...

2020-02-13 14:00:47 90

原创 论文阅读:RippleNet:让用户偏好在知识图谱中像水波纹一样传播

1.motivation2.method3.experiments

2019-11-09 11:25:19 933

原创 知识图谱经典方法 Knowledge Graph Embedding:从TransE,TransH到TransR

1.背景KG Embedding可以建立实体到实体的关联。

2019-11-05 21:16:44 6336 7

神经网络与深度学习——复旦大学邱锡鹏老师

近年来,以机器学习、知识图谱为代表的人工智能技术逐渐变得普及。从 车牌识别、人脸识别、语音识别、智能问答、推荐系统到自动驾驶,人们在日常 生活中都可能有意无意地使用到了人工智能技术。这些技术的背后都离不开人 工智能领域研究者们的长期努力。特别是最近这几年,得益于数据的增多、计 算能力的增强、学习算法的成熟以及应用场景的丰富,越来越多的人开始关注 这一个“崭新”的研究领域:深度学习。深度学习以神经网络为主要模型,一 开始用来解决机器学习中的表示学习问题。但是由于其强大的能力,深度学习 越来越多地用来解决一些通用人工智能问题,比如推理、决策等。目前,深度 学习技术在学术界和工业界取得了广泛的成功,受到高度重视,并掀起新一轮 的人工智能热潮。

2019-07-13

Java核心技术(卷2):高级特性(原书第9版)

Java经典书籍,Java核心

2017-08-25

Java面试宝典2017.pdf

Java面试宝典2017

2017-08-25

空空如也

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

TA关注的人

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