自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bitcarmanlee的博客

https://github.com/bitcarmanlee/easy-algorithm-interview-and-practice 同步更新,欢迎star

  • 博客(11)
  • 收藏
  • 关注

原创 汉诺塔问题

1.汉诺塔问题描述常见的汉诺塔问题是根据一个传说形成的数学问题:有三根杆子A,B,C,A杆上有 N 个 (N>1) 穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至 C 杆:1.每次只能移动一个圆盘;2.大盘不能叠在小盘上面。提示:可将圆盘临时置于 B 杆,也可将从 A 杆移出的圆盘重新移回 A 杆,但都必须遵循上述两条规则。问:如何移?最少要移动多少次?2.问...

2019-03-30 15:44:05 1023

原创 最长递增子序列(LIS longest-increment-subsequence)最长连续递增子序列 最大连续子序列和

1.问题描述给定一个数组,就数组最长递增子序列(子序列可以不连续)2.解法非常经典的动态规划问题,算法的时间复杂为O(n^2),空间复杂度为O(n)。关键是结果数组dp[i]怎么计算呢?每次遍历所有j<i中数组的元素,判断array[j]是否小于array[i]。如果是,检查dp[i]与dp[j]+1的大小,并且更新dp[i]。 public static int lis...

2019-03-27 10:09:09 807

原创 CART树为什么使用GINI系数

1.ID3树与CART树的区别ID3算法中,选择的是信息增益来进行特征选择,信息增益大的特征优先选择。而在C4.5中,选择的是信息增益比来选择特征,以减少信息增益容易选择特征值多的特征的缺点。但是无论是ID3还是C4.5,都是基于熵的模型,里面会涉及到大量的对数运算,能不能简化一下?假设有数据集D,定义GINI指数GINI∗(D)=∑i=1kpk∗(1−pk)=1−∑i=1kpk2GIN...

2019-03-25 23:08:15 6863

原创 embedding lookup

1.embeddingembedding现在在推荐系统、ctr预估系统中的使用无处不在。简单来理解就是,对于各种高维稀疏的特征,工作将单个特征映射成为一个低维稠密向量,将高维稀疏特征由"精确匹配"变成一个在embedding向量上的"模糊匹配",从而提高了算法的性能,将高维稀疏特征的可用性大大提高。2.lookupembedding lookup本质上是用矩阵的乘法来实现的,可以将其看成一个...

2019-03-18 18:51:36 6819

原创 ‘module‘ object has no attribute ‘computation‘

在使用tensorflow跑CNN模型的时候,发现报了如下异常:AttributeError: 'module' object has no attribute 'computation'经过一番搜索,发现可能跟dask这个包有关系。dask包可能版本太老,于是执行pip install --upgrade dask将dask升级到最新版本,搞定收工...

2019-03-16 20:36:19 391

原创 Reverse Linked List 反转链表

1.题目反转一个单链表。示例:输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL输出: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL2.解法1.将当前节点cur的下一个节点cur.next取出来保存为tmp。2.更改当前节点cur的下一个节点为pre,也即反转当前结点的next指针指向前。3.将pre指针前移,更改为cur,这样下一...

2019-03-11 22:50:12 481

原创 Partition List 将链表分成两部分

1.问题给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1-&gt;4-&gt;3-&gt;2-&gt;5-&gt;2, x = 3输出: 1-&gt;2-&gt;2-&gt;4-&gt;3-&gt;52.解法将所有小于给定值的节点组成一个新的链表A,将所有大...

2019-03-10 17:44:33 740

原创 sort colors 三色排序

1.问题给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]2.解法一之计数排序计数排序的思路比较简单,就是得到各个元素出现的次数,然后重新写入原来的数组中。直接上代...

2019-03-09 23:04:11 1470

原创 删除排序数组中的重复项

1.题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例2:给定 ...

2019-03-09 20:36:25 235

原创 无重复字符的最长子串

1.问题问题如下:给定一个字符串,找出不含有重复字符的最长子字符串的长度。例如:输入为"abcdeabd",没有重复字符的最长字符串为"abcde",长度为5。2.暴力法我们可以逐个字符遍历字符串,将所有的子串组合找出来,看看是否包含不重复的字符。 public static int longestLen(String s) { int n = s.length(...

2019-03-09 20:13:22 438

原创 ? extends T 与 ? super T

java的一个设计理念是,与泛型相关的异常最好是在编译期间就被发现,因此设计了extends与super这两种方式。具体来说,List&lt;? extends T&gt;表示该集合中存在的都是类型T的子类,包括T自己。而List&lt;? super T&gt;表示该集合中存的都是类型T的父类,包括T自己。List&lt;? extends T&gt;如果去添加元素的时候,因为list中存...

2019-03-05 19:43:32 10575 6

空空如也

空空如也

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

TA关注的人

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