自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 机器学习百试不爽之(三)xgboost&LightGBM

本文包含xgboost在gbdt基础上的重要改进 xgboost的缺点 LightGBM在gbdt上的差异化实现 直方图算法 (从源码角度详细解读) leaf-wise 本文不包含各种框架优化的原理论证xgboost和 LightGBM是gbdt的两种实现框架。在项目实践和面基中都是经常碰到的。gbdt是boosting方式训练的base model,而xgbo...

2019-05-28 16:58:41 253

原创 README

系列文章出发角度为应对大厂算法工程师面试。第一期针对leetcode中easy 300+的题目做解答。 所有答案(除非特殊说明)均为本人用python手动编写完成,并且通过了所有测试case。 为了便于通过面试,所有答案均经过本人思考后,认为是较容易得分,不容易出错(面试过程中卡壳)的思路。欢迎评论反驳,共同提高。 想清楚解题思路再做 再简单的题目 也可能会出错。要自己动手coding ...

2019-05-14 20:37:43 133

原创 数据结构与算法之三——双指针

# 标题 难度 986 区间列表的交集 M 题目986输入:A = [[0,2],[5,10],[13,23],[24,25]], B = [[1,5],[8,12],[15,24],[25,26]]输出:[[1,2],[5,5],[8,10],[15,23],[24,24],[25,25]]注意:输入和所需的输出都是区间对象组...

2019-06-29 09:56:28 197

原创 leetcode 628 三个数的最大乘积

题目给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。来源:力扣(LeetCode)链接:htt...

2019-06-23 13:58:25 207

原创 leetcode 905 按奇偶排序数组·

题目给定一个非负整数数组 A,返回一个数组,在该数组中,A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 50000 <= A[i]...

2019-06-23 13:29:40 155

原创 leetcode 216 组合总数(3)

题目找出所有相加之和为n 的k个数的组合。组合中只允许含有 1 -9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]来源:力扣(Leet...

2019-06-23 11:58:53 127

原创 leetcode 461 汉明距离

题目两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。来源:力扣(Leet...

2019-06-23 11:19:25 254 1

原创 leetcode 77 组合

题目给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。示例:输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/combinations著作权归...

2019-06-22 23:09:03 133

原创 leetcode 96 不同的二叉搜索树

题目给定一个整数 n,求以1 ...n为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/unique-binary-search-trees著作权归领扣网络所有。商业转载请联系官方授权,非商业转载...

2019-06-22 22:15:13 96

原创 leetcode 1025 除数博弈

题目爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字N。在每个玩家的回合,玩家需要执行以下操作:选出任一x,满足0 < x < N 且N % x == 0。用 N - x替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回True,否则返回 false。假设两个玩家都以最佳...

2019-06-22 21:51:47 399

原创 leetcode 338 比特位计数

题目给定一个非负整数num。对于0 ≤ i ≤ num 范围中的每个数字i,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空...

2019-06-22 21:42:46 214

原创 leetcode 85 最大矩形

题目给定一个仅包含0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例:输入:[ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1","1","1"], ["1","0","0","1","0"]]输出: 6来源:力扣(LeetCode)链接:https://lee...

2019-06-22 18:44:35 175

原创 leetcode 84 柱状图中最大的矩形

题目给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。代码小结:参考https://www.cnblogs.com/ariel-dreamland/p/9159207.html容易理解核心思路https://leetcode-cn.com/problems/largest-rectang...

2019-06-22 17:10:55 92

原创 leetcode 80 删除排序数组中的重复项(2)

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

2019-06-21 21:33:56 100

原创 leetcode 287 寻找重复数

题目给定一个包含n + 1 个整数的数组nums,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 ...

2019-06-21 20:45:03 177

原创 leetcode 961 重复N次的的元素

题目在大小为 2N的数组 A中有 N+1 个不同的元素,其中有一个元素重复了 N 次。返回重复了 N次的那个元素。示例 1:输入:[1,2,3,3]输出:3示例 2:输入:[2,1,2,5,3,2]输出:2示例3:输入:[5,1,5,2,5,3,5,4]输出:5提示:4 <= A.length <= 100000 <...

2019-06-21 17:56:40 157

原创 leetcode 500 键盘行

题目给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。示例:输入: ["Hello", "Alaska", "Dad", "Peace"]输出: ["Alaska", "Dad"]注意:你可以重复使用键盘上同一字符。你可以假设输入的字符串将只包含字母。来源:力扣(LeetCode)链接:https://leetcode...

2019-06-21 17:31:04 102

原创 leetcode 152 乘积最大子序列

题目给定一个整数数组 nums,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释:子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释:结果不能为 2, 因为 [-2,-1] 不是子数组。来源:力扣(LeetCode)链接:https://leetcode-cn...

2019-06-21 16:50:46 85

原创 leetcode 876 链表的中间节点

题目给定一个带有头结点head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3,...

2019-06-17 08:48:26 186

原创 leetcode 142 环形链表(2)

题目给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/linked-list-...

2019-06-16 18:20:01 81

原创 leetcode 374 猜数字大小

题目我们正在玩一个猜数字游戏。 游戏规则如下:我从1到n选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口guess(int num),它会返回 3 个可能的结果(-1,1或 0):1 : 我的数字比较小-1 : 我的数字比较大0 : 恭喜!你猜对了!示例 :输入: n = 10, pick...

2019-06-16 15:48:57 137

原创 leetcode 162 寻找峰值

题目峰值元素是指其值大于左右相邻值的元素。给定一个输入数组nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返回其...

2019-06-12 20:23:37 145

原创 leetcode 350 两个数组的交集(2)

题目给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。进阶:...

2019-06-12 19:41:46 110

原创 leetcode 704 二分查找

题目给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:输入: nums = [-1,0,3,5,9,...

2019-06-12 17:32:47 121

原创 leetcode 852 山脉数组的峰顶索引

题目我们把符合下列属性的数组A称作山脉:A.length >= 3存在 0 < i< A.length - 1 使得A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]给定一个确定为山脉的数组,返回任何满足A[0] < A[1] < ....

2019-06-12 17:03:36 81

原创 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] 可被视为重叠区间...

2019-06-12 15:37:34 207

原创 leetcode 242 有效的字母异位词

题目给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。来源:力扣(LeetCode)链接:https://leetcode-cn.c...

2019-06-12 11:43:36 126

原创 leetcode 59 螺旋矩阵(2)

题目给定一个正整数n,生成一个包含 1 到n2所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/spiral-matrix-ii著作权归领扣网络所有。商业转...

2019-06-12 10:48:33 102

原创 leetcode 54 螺旋矩阵

题目给定一个包含m x n个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]...

2019-06-11 21:50:21 136

原创 leetcode 47 全排列(2)

题目给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。代码...

2019-06-11 19:44:10 117

原创 leetcode 40 组合总数(2)

题目给定一个数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例1:输入: candidates =[10,1,2,7,6,1,5], target =8,所...

2019-06-11 19:37:41 124

原创 leetcode 90 子集(2)

题目给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[ [2], [1], [1,2,2], [2,2], [1,2], []]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subsets-ii...

2019-06-10 20:45:29 88

原创 leetcode 46 全排列

题目给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations著作权归领扣网络所有...

2019-06-10 20:23:16 91

原创 数据结构与算法之二——动态规划

题目一给定一个正整数n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 ×3 ×4 = 36。说明:你可以假设n不小于 2 且不大于 58。代码小结:...

2019-06-09 22:00:46 87

原创 机器学习百试不爽之(二)xgboost

本文包含xgboost的整体训练过程 每次迭代,树的生成过程 叶子分裂过程做详尽的公式说明本文不包含xgboost在实现上的并行计算优化(感兴趣的可以一起阅读源码交流)gbdt是一种boosting方式集成弱学习器的模型,这里的弱学习器是CART, xgboost基于gbdt进行了改进,使得这种boosting算法在模型的预估效果上和训练的效率上都得到了提升。一、整...

2019-06-06 19:54:47 171

原创 leetcode 39 组合总数

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

2019-06-06 15:44:32 159 1

原创 leetcode 78 子集

题目给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]代码小结:subsets1(i, cur_set) 表示从下标i开始的数组中找...

2019-06-06 12:33:17 68

原创 leetcode 2 两数相加

题目给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 ->...

2019-06-06 11:20:10 62

原创 leetcode 292 Nim游戏

题目你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块...

2019-06-05 23:02:39 70

原创 leetcode 387 字符串中第一个唯一字符

题目给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2.注意事项:您可以假定该字符串只包含小写字母代码class Solution(object): def firstUniqChar(self, s): ...

2019-06-05 17:17:39 92

空空如也

空空如也

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

TA关注的人

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