LightGBM使用小结 2018-05-12 机器学习树模型系列 LightGBM, 机器学习 最近在参加一些数据竞赛,诸如腾讯校园算法大赛和蚂蚁金服风险识别大赛,在参赛的过程中,发现原生的LightGBM比sklearn接口的LIghtGBM方便的不要太多。因此,趁此之际,总结一波。 数据接口加载numpy数组到Dataset中:12345# 500个样本,每一个包含10个特征data = np.random.rand(500, 10)# 二元目标变量,0和1label = np.random.randint(2, size=500)train_data = lgb.Dataset(data, label=label) 查看更多
dp系列之子集系列 2018-05-05 数据结构动态规划 dp系列, 数据结构, 高频面试题总结 1. 子集题目详情 给定一个含不同整数的集合,返回其所有的子集样例:如果 S = [1,2,3],有如下的解:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []] 查看更多
链表系列之linked-list-cycle 2018-04-30 数据结构链表 数据结构, 链表系列, 高频面试题总结 链表是否有环 I题目详情 Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using extra space? 思路: 快慢指针,若快慢指针能相遇则说明链表存在环 查看更多
二叉树系列之zigzag打印二叉树 2018-04-28 数据结构二叉树 tree系列, 数据结构, 高频面试题总结 题目详情 给出一棵二叉树,返回其节点值的锯齿形层次遍历(先从左往右,下一层再从右往左,层与层之间交替进行) 样例:给出一棵二叉树 {3,9,20,#,#,15,7},12345 3 / \9 20 / \ 15 7 返回其锯齿形的层次遍历为:12345[ [3], [20,9], [15,7]] 思路: 广度优先遍历 设置flag,看是正序还是逆序,决定如何加入list 若是正序:list.add(node.val) 若是逆序:list.add(0, node.val) 查看更多
dp系列之房屋染色 2018-04-19 数据结构动态规划 dp系列, 数据结构, 高频面试题总结 房屋染色 这里有n个房子在一列直线上,现在我们需要给房屋染色,分别有红色蓝色和绿色。每个房屋染不同的颜色费用也不同,你需要设计一种染色方案使得相邻的房屋颜色不同,并且费用最小。费用通过一个nx3 的矩阵给出,比如cost[0][0]表示房屋0染红色的费用,cost[1][2]表示房屋1染绿色的费用。 样例:costs = [[14,2,11],[11,14,5],[14,3,10]] return 10房屋 0 蓝色, 房屋 1 绿色, 房屋 2 蓝色, 2 + 5 + 3 = 10 查看更多
深搜系列之分割字符串 2018-04-19 数据结构深度优先搜索 dfs系列, 数据结构, 高频面试题总结 题目详情 给一个字符串,你可以选择在一个字符或两个相邻字符之后拆分字符串,使字符串由仅一个字符或两个字符组成,输出所有可能的结果 样例:给一个字符串”123”返回[[“1”,”2”,”3”],[“12”,”3”],[“1”,”23”]] 查看更多
深搜系列之字符串全组合 2018-04-13 数据结构深度优先搜索 dfs系列, 数据结构, 高频面试题总结 12345678910111213141516171819202122import java.util.ArrayList;public class FullCombination { public static void main(String[] args) { ArrayList<String> result = new ArrayList<>(); helper(result, "abc", new StringBuilder(), 0); for (String s : result) System.out.println(s); } private static void helper(ArrayList<String> result, String s, StringBuilder sb, int index) { for (int i = index; i < s.length(); i++) { sb.append(s.charAt(i)); result.add(sb.toString()); helper(result, s, sb, i + 1); sb.deleteCharAt(sb.length() - 1); } }}
dp系列之编辑距离 2018-04-13 数据结构动态规划 dp系列, 数据结构, 高频面试题总结 编辑距离题目详情 给出两个单词word1和word2,计算出将word1 转换为word2的最少操作次数。 你总共三种操作方法: 插入一个字符 删除一个字符 替换一个字符 样例:给出 work1=”mart” 和 work2=”karma”返回 3 查看更多
寻找旋转排序数组中的最小值 2018-04-09 数据结构 数据结构, 高频面试题总结 题目详情 假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。 你需要找到其中最小的元素。 你可以假设数组中不存在重复的元素。 查看更多
高频面试题总结之链表排序 2018-04-07 数据结构 数据结构, 高频面试题总结 由于链表数据结构的特殊性,其实基于交换的排序算法已经不适用了,比较适用的是插入排序和归并排序。下面分别展示具体的求解思路。 题目详情 Sort a linked list in O(n log n) time using constant space complexity. 查看更多