
数据结构与算法
算法学习
Sugar-k
这个作者很懒,什么都没留下…
展开
-
高楼扔鸡蛋-另解
问题求解的是当拥有k个鸡蛋和N层楼可供测试时,所需的最少扔鸡蛋个数m。那么存在这样的的一种思路:在k不变的情况下,由于m的增加必然会增加测试的楼层数,那么我们可以通过(k,m)状态下所需的楼层数来进行求解。当所需测试楼层数=N时,我们便可以得到最少扔鸡蛋个数。import numpy as npdef egg_break(N, k): """ :param N: 总楼层数 :param k: 鸡蛋个数 :return: 最坏情况下扔鸡蛋个数 """原创 2021-04-20 17:13:06 · 113 阅读 · 0 评论 -
高楼扔鸡蛋-二分法优化
import numpy as npdef egg_break(N, k): table = dict() def dp(N, k): if N == 0: return 0 if k == 1: return N if (N, k) in table: return table[(N, k)] res = np.inf low =原创 2021-04-18 21:50:12 · 158 阅读 · 0 评论 -
高楼扔鸡蛋-动态规划求解
问题描述假设存在一栋共N层高的楼,存在K个鸡蛋。存在在0~N之间存在一层楼F,使得从楼层F扔下时恰好可以使鸡蛋碎开。也就是说当楼层数低于F时,扔下的鸡蛋无法裂开。现在求解最坏情况下,最少的扔鸡蛋数。思路对于特定的一个扔鸡蛋时刻,存在两个参数描述这个动作,假设当前手上的鸡蛋个数k,以及所在的楼层数i。当在特定参数(i,k)情形下做出扔鸡蛋这个动作,我们可能会得到两种情况,分别是碎与不碎。对于碎这种情况,意味着我们需要从下面的i-1层中寻找,此时鸡蛋个数为k-1,参数变为(i-1,k-1);反之,应当从上原创 2021-04-16 09:14:43 · 261 阅读 · 0 评论 -
编辑距离-动态规划
问题存在两个字符串s1:apple,s2:app,原创 2021-04-14 19:18:13 · 90 阅读 · 0 评论 -
时间序列的动态加权规整二
翻译 2021-04-08 14:12:59 · 588 阅读 · 0 评论 -
时间序列分类的加权动态时间规整一
时间序列分类的加权动态时间规整摘要动态时间扭曲(DTW),它通过提供非线性对齐来找到最小路径在两个时间序列之间,已被广泛用作时间序列分类的距离度量和聚类。但是,DTW并未考虑相位差的相对重要性在参考点和测试点之间。这可能会导致分类错误,尤其是在应用程序中其中两个序列之间的形状相似性是准确识别的主要考虑因素。因此,我们提出了一种新颖的距离测度,称为加权DTW(WDTW),它是基于惩罚的DTW。我们的方法对参考点和参考点之间具有较高相位差的点进行惩罚为了防止离群值引起的最小距离失真,请使用测试点。基本原理一翻译 2021-04-06 17:39:44 · 1392 阅读 · 0 评论 -
比价关系测算
比价关系是构建整体估价体系的核心与基础。基于比价关系,可以将城市的房地产彼此相互联系,从而形成一个关系网络。通常关联联系体现在类似的房地产之间,及类似房地产集合内部;对于属性差异较大的值来说,价格关联关系就隐藏的较深。比价关系的内涵微观经济学中,商品的价格变化引起该商品的需求量的变化,变化可以被分解为收入效应和替代效应。任何一种商品或多或少都可以找到较为相似的替代品,替代品之间具有一定的相似性和可替代性。对于某种商品而言,比如款式相同但品牌不同的衣服,配置相同但定位不同的手机,都会导致其价格有所不同。原创 2021-04-02 14:33:50 · 1093 阅读 · 0 评论 -
DTW距离
DTW(dynamic-time-wraping)当两个时间序列等长时,我们可以使用欧氏距离来度量两者的相似性。但是当两个时间序列不等长时,欧氏距离就难以度量两者的相似性了。因此,国外学者提出了动态时间弯曲距离(Dynamic time warping,DTW) 作为一种新的相似性度量方法,通过调节时间点之间的对应关系,能够寻找两个任意长时间序列中数据之间的最佳匹配路径,对噪声有很强的鲁棒性,可以更有效地度量时间序列的相似性。由于DTW距离不要求两个时间序列中的点一一对应,因此具有更广的适用范围。但不可否原创 2021-03-28 11:41:55 · 6082 阅读 · 0 评论 -
SHAP方法
原创 2021-03-25 16:09:52 · 1502 阅读 · 0 评论 -
知识图谱
原创 2021-03-24 13:55:50 · 103 阅读 · 0 评论