- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 用最少数量的箭引爆气球
这是Leetcode上的一道题目:在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球。一支弓箭可以沿着x轴从不同点完全垂直地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满...
2018-08-28 22:32:09 807
原创 到达终点数字
题目:你从数轴上的0出发,可以选择向右或向左走,但是第n步只能走n步。问:走到target点所需的最少步数? 示例1:target=2,最少步数为3解释:向右走1步,向左走2步,向右走3步 示例2:target=4,最少步数为3解释:向左走1步,向右走2步,向右走3步 思路详解:这道题的本质是 1+2+3+…+n,在一些数字前面取负号(代表向左走),...
2018-07-28 12:06:48 616
原创 异常检测算法
异常检测(Anomaly Detection)是为了发现运维中偏离正常值的异常数据。异常检测算法的基本思想是:用正常的数据去训练模型,得到阈值,然后去判断新的数据是否异常。异常检测如今被广泛应用于:欺诈用户检测,制造业异常检测,计算机监控等! 在详细介绍异常检验算法之前,需要了解异常检测和监督学习的不同:假设一个二分类问题,普通的监督学习,训练集中两种类别 y1 和 y2 的数...
2018-07-27 22:32:28 14826 6
原创 返回第k个排列
给定数字n,易知n一共有n!个排列组合,现在要返回第k个排列(list是以从小到大的顺序排列的)。比如:n=3,k=4,全排列为[123, 132, 213, 231, 312, 321],返回"231"。 一个比较容易想到的做法就是:先得到全排列List,然后返回List[k-1]使用Python中的itertools,很容易就能实现:def permulation(sel...
2018-07-26 21:26:14 1182
原创 编辑距离 Edit Distance
编辑距离,又被称为Levenshtein距离,是指两个字符串之间,由其中一个转变成另一个所需的最小编辑操作次数。比如:"sea" 转变为 "eat" 需要2次操作:1、将 s 删除2、在末尾添加 t所以"sea"和"eat"两个字串的编辑距离为2。这里需要注意的是:所谓的操作只包含 (1) 插入 (2) 删除 (3) 替换 ,并不包括字符的交换操作! 编辑距离的应用:...
2018-07-22 13:28:10 563
原创 一个List的所有子集
假设有一个list [1,2,3],要求出list的所有子集!假设一个list的长度为n,那么它就包含 个子集(包含空集)。同样的,1个长度为 n 的二进制字符串,可以表示 个数。所以我们不难联想到,要求list的子集,其实就是位运算:[ ] ——> 0 0 0 ——> 0[1] ——> 1 0 0 ——> 4[2] ...
2018-07-21 15:39:37 2518
原创 最长回文字串
求最长回文字符串是面试中的一道经典题目!给定一个字符串s,从中找出最长的回文字符串:比如:s = "fggfsrtrsa"返回 "srtrs" 解题思路:其实最简单的可以用动态规划,时间复杂度为O(n^2),这种解法就不加赘述了。我这里会介绍时间复杂度为O(n)的算法:Manacher算法: 首先用特定字符,比如"#",去填充原来的字符串s: 这样做的...
2018-07-16 19:00:01 1329
原创 最小路径和
题目: 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例: 输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。 解题思路:这就是一个很基本的动态规划。对于一个点 (i , j...
2018-07-09 20:32:58 555
原创 K均值图像压缩
使用K均值来减少一张图片的颜色种类,既能压缩图片,也能保留图片的特征!主要步骤:1、选取聚类中心的数量(即压缩后图片的颜色种类)聚类中心是一个1×3的矩阵,3指的是通道数(通常为RGB三通道)。2、计算每个像素点到聚类中心的距离(像素点之间的差距)每张图片的每个像素都有一个像素值,三通道需要分开计算,然后求平均。这里使用的是欧氏距离:通道1:d1 = ( pic[i][0] - centre[j]...
2018-07-07 17:44:36 930
原创 分配糖果
题目: 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。 那么这样下来,老师至少需要准备多少颗糖果呢? 示例1: 输入: [1,0,2] 输出: 5 解释: 你可以...
2018-07-07 15:01:54 1041
原创 跳跃游戏
题目描述: 给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入:[2,3,1,1,4]输出:2解释:跳到最后一个位置的最小跳跃数是2。从下标为0跳到下标为1的位置,跳1步,然后跳3步到达数组的最后一个位置。 解题思路:这是典型的贪心算法,即每次...
2018-07-05 20:12:29 309
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人