- 博客(15)
- 收藏
- 关注
原创 【Leetcode】22.链表中倒数第k个节点&06.从尾到头打印链表
22. 链表中倒数第k个节点双指针首先走k次确定两个指针的位置然后一直走到链表尾为止# Definition for singly-linked list. 单链表的构建方法# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def getKthFromEnd(self, head: ListNode, k: int
2021-02-02 23:48:57
121
原创 【机器学习基础】用正则化防止过拟合|Regularization
文章目录岭回归|Ridge RegressionLasso回归|Lasso Regression岭回归 vs Lasso回归岭回归|Ridge RegressionMain idea: slightly worse fit for training data, better long term predictions. ➡️ A little more bias, significznt drop in varianceDefinition: Add λ×slopoe2\lambda\time
2021-02-01 18:16:25
201
原创 【Leetcode】48.最长不含重复字符的子字符串
48. 最长不含重复字符的子字符串方法一:动态规划+哈希表把原问题拆解为:以每个字符为右边界的最大子串(每次计算都是基于前一个字符的结果)class Solution: def lengthOfLongestSubstring(self, s: str) -> int: dic = {} # 哈希表用来保存每个字符出现的最近的位置 res = tmp = 0 for j in range(len(s)): # 遍历每一个字符
2021-02-01 16:05:16
140
原创 【Leetcode】59.II.队列的最大值&50.第一个只出现一次的字符
59. II. 队列的最大值需要实现的不是队列,而是提取队列最大值这个功能。所以直接用queue包来实现queue。用一个队列queue来存放数据(只能先进先出),用双端队列保存最大值。import queueclass MaxQueue: def __init__(self): self.deque = queue.deque() self.queue = queue.Queue() def max_value(self) -> int:
2021-01-31 09:23:53
130
原创 【Leetcode】09.用两个栈实现队列&30.包含min函数的栈
09. 用两个栈实现队列用栈(列表表示)来实现队列时,数据应该放在栈中方法一:一个栈用来放数据,一个栈用来做中间容器class CQueue: def __init__(self): self.data_stack = [] self.help_stack = [] def appendTail(self, value: int) -> None: self.data_stack.append(value)
2021-01-26 21:03:38
72
原创 【Leetcode】04.二维数组中的查找&59.滑动窗口的最大值
04. 二维数组中的查找方法一:暴力遍历class Solution: def findNumberIn2DArray(self, matrix: List[List[int]], target: int) -> bool: for lst in matrix: if target in lst: return True return False时间复杂度是O(MN)O(MN)O(MN),MMM和N
2021-01-25 20:04:45
365
原创 【Leetcode】29.顺时针打印矩阵&53.0~n-1中缺失的数字II
29. 顺时针打印矩阵方法一:删除第一行,逆时针旋转矩阵神仙解法,但是转置矩阵会耗费时间class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: res = [] while matrix: res += matrix.pop(0) # 删除第一行 matrix = list(zip(*matrix))[::-1]
2021-01-24 15:11:58
109
原创 【Leetcode】03.数组中重复的数字&53.在排序数组中查找数字I
剑指offer03. 数组中重复的数字(列表表示数组,涉及用哈希表计数)方法一:使用哈希表(dict/set)计数看到别人的题解大多用的是set,但感觉set的索引效率并不是最高的,至少我自己提交后的结果里dict的内存使用和时间都更优class Solution: def findRepeatNumber(self, nums: List[int]) -> int: counts = {} for num in nums:
2021-01-23 14:23:20
120
原创 【Leetcode】58.左旋转字符串&27.二叉树的镜像
题解均来自Krahets大神!!!剑指Offer58 左旋转字符串(字符串元素顺序调整)# 方法一:字符串切片class Solution: def reverseLeftWords(self, s: str, n: int) -> str: # 自己的解法过于麻烦,可以直接切字符串的一段 # for i in range(n): # s = s + s[0] # s = s[1:]
2021-01-22 23:50:39
88
原创 【Leetcode】SQL窗口函数
1. 简单介绍概念:窗口函数,也叫OLAP函数(Online Anallytical Processing,联机分析处理),可以对数据库数据进行实时分析处理。窗口函数作用于一个数据行集合。类型:(1) 专用窗口函数,包括后面要讲到的rank, dense_rank, row_number等专用窗口函数。(2) 聚合函数,如sum. avg, count, max, min等2. 应用场景每组内的排名问题、Top N问题,直接用GROUP BY会聚合成一行。窗口函数不减少原表的行数。
2021-01-18 23:54:53
221
原创 【机器学习算法】梯度提升方法
Comparison with AdabostGradient BoostAdaBoostInitialbuild a very short tree called stumpmake a single leaf, representing the initial guess for the target value of all samplesLoopbuild another stump based on the errors made by the previous
2021-01-17 16:59:50
306
原创 【Leetcode】SQL各题思路汇总
【Easy】合并两张表格LEFT JOIN…ON…⚠️是否需要留下哪张表格的完整信息【Easy】第二高的工资(与数据顺序大小有关)首先找出最高的工资筛选出比最高工资低的工资,取其中最高者【Medium】第N高的工资N是不确定的,所以创建一个函数,将N作为参数传入1.关联嵌套查询:比该行工资高的unique工资数(count)恰好为N-1个2.LIMIT:对工资做倒序排序,用LIMIT选择第N-1行后的第一个工资(LIMIT 1, 1 OR LIMIT 1 OFFSET N-1)【难度未知
2021-01-15 16:46:05
615
原创 【Leetcode】#618 学生地理信息报告
1. 建表DROP TABLE IF EXISTS student;CREATE TABLE student(NAME VARCHAR(20),continent VARCHAR(20));INSERT INTO student VALUES('Jack', 'America');INSERT INTO student VALUES('Pascal', 'Europe');INSERT INTO student VALUES('Xi', 'Asia');INSERT INTO student
2021-01-15 11:25:50
227
原创 【机器学习算法】XGBoost
XGBoostSummary at firstXGBoost中减少计算难度的地方求叶节点的output value的时候用二阶泰勒展开求Similarity score的时候用梯度和Hessian去算RegressionFirst, an original prediction(constant) is given for all points.1. Build the treeFrom the root, calculate similarity for residual
2021-01-14 23:08:00
359
原创 【Business Sense】Customer Analytics
PART1 STP FrameworkSuitable for B2C business model/Fast-moving consumer goods company(FMCG company)1. Segmentation: Dividing a population into groups with similar characteristics(comparable purchase behaviors, similar response to different marketing acti
2021-01-09 18:05:00
346
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人