SQL典型例题总结

1. 统计出当前各个title类型对应的员工当前薪水对应的平均工资。

表结构:

1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
CREATE TABLE IF NOT EXISTS "titles" (
`emp_no` int(11) NOT NULL,
`title` varchar(50) NOT NULL,
`from_date` date NOT NULL,
`to_date` date DEFAULT NULL);

思路:

  • INNER JOIN的使用
  • GROUP BY + AVG( )的使用

查看更多

Compartir Comentarios

连续特征离散化的优点

模型是使用离散特征还是连续特征,其实是一个“海量离散特征 + 简单模型” 同 “少量连续特征 + 复杂模型”的权衡,既可以离散化用线性模型,也可以用连续特征加深度学习。就看是喜欢折腾特征还是喜欢折腾模型了。通常来说,前者容易,可以n个人一起并行做,有成功经验;后者目前看起来很赞,能走多远还需拭目以待。
——李沐

在CTR预估中,通常都会用到离散特征特征 + LR,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1类别特征交给逻辑回归模型,这样做的优势主要有以下几点:

查看更多

Compartir Comentarios

高频面试题总结之带重复元素的排列

题目详情

LintCode No.16

给出一个具有重复数字的列表,找出列表所有不同的排列。

样例
给出列表 [1,2,2],不同的排列有:
[ [1,2,2], [2,1,2], [2,2,1] ]

查看更多

Compartir Comentarios

高频面试题总结之最长上升子序列

题目详情

LintCode No.76

给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。

最长上升子序列的定义:
最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的子序列,这种子序列不一定是连续的或者唯一的。

样例
给出 [5,4,1,2,3],LIS 是 [1,2,3],返回 3
给出 [4,2,4,5,3,7],LIS 是 [2,4,5,7],返回 4

查看更多

Compartir Comentarios

高频面试题之二分查找

二分查找二三事

引言

华为综合面碰到一个Cloud BU的大佬,唉,我明明面的是算法岗,这位大佬死抓我没有计算机基础不放,先是针对进程和线程死磕,而后怀疑我的开发水平,最后让我白板写二分查找,第一次白板写代码,很简单的题目,觉得最重要的是理清思路,先写个代码流程图再动手写代码相对会好点,以后面试再遇到白板编程就这么干吧,那天虽然把整体思路都理出来了,也写了个大概,但觉得还是不熟练,还是想复习下二分查找,二分查找说是简单,但其中关于边界的处理其实需要一波思考。这篇文章主要以一道lintcode题目,引发对二分查找的边界值的思考,以及一些变形题的实现,好吧,废话不多说,让我们开始吧…

查看更多

Compartir Comentarios

高频面试题总结 —— 动规之拼凑面额

高频面试题总结 —— 动规之拼凑面额

原题地址

题目描述:

给你六种面额1、5、10、20、50、100元的纸币,假设每种币值的数量都足够多,编写程序求组成N元(N为0-10000的非负整数)的不同组合的个数。

样例:
输入
5
输出
2

查看更多

Compartir Comentarios

高频面试题之最长公共系列

高频面试题总结 —— 最长公共系列

最长公共子串

给出两个字符串,找到最长公共子串,并返回其长度。

样例:
给出A=“ABCD”,B=“CBCE”,返回 2

思路:

动态规划求解:

  • A.charAt(i) == B.charAt(j), 状态转移:dp[i][j] = dp[i-1][j-1] + 1
  • 否则:dp[i][j] = 0
  • 最后求max(dp)

查看更多

Compartir Comentarios

高频面试题总结之翻转链表

高频面试题总结 —— 翻转链表

翻转链表是面试中常见的题目,这并不是什么难题,因为要实现翻转,所以一般需要有两个ListNode,通过改变这两个ListNode的前后节点及循环移动这两个节点从而实现链表的翻转。

查看更多

Compartir Comentarios

天池比赛小结

天池比赛小结1

巧妙利用回溯法解决路径提交所引发的血案

0 引言

前一阵子参加了天池比赛气象数据领航无人飞行器线路优化大赛,凭借着初赛一步步的稳扎稳打以及最后时刻的一波套磁 + 人品爆发,以第三名的成绩进入了决赛。但在决赛阶段,我们所遇到的最大问题并不是此次赛题中的两个重点:气象数据回归或路径规划算法,令我们差点止步前 10 的是提交路径之后,由于不同路径之间的各种组合导致的无法推知到底是哪些路径成功抵达。后来我们用了一些巧妙的解法在某种程度上解决了这个问题(并没有完全解决,下文会细讲),因此,这也是此篇博客诞生的原因,想要记录下解决这一个问题的思路。

查看更多

Compartir Comentarios

UnionFind

并查集

写该篇博客的初衷是由于在做天池大数据比赛中用到了并查集的相关概念,因此,想要巩固下这个知识点。

在计算机科学中,并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。有一个联合-查找算法(union-find algorithm)定义了两个用于此数据结构的操作:

  • Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集。
  • Union:将两个子集合并成同一个集合。

由于支持这两种操作,一个不相交集也常被称为联合-查找数据结构(union-find data structure)或合并-查找集合(merge-find set)。

查看更多

Compartir Comentarios