问题标签 [gaps-in-data]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - hibernate oracle 序列产生大的间隙
我正在使用休眠 3,oracle 10g。我有一张桌子:主题。定义在这里
插入新主题时,使用sub_seq创建主题id,定义在这里
主题类是这样的:
在主题表中,数据库中有 4555 个主题由 plsql 脚本从 excel 加载,并且 sub_sequence 工作正常。主题 ID 范围为 1--4555。
但是,当我使用 hibernate 从我的应用程序中添加主题时,序列号跳到 255050。运行几天后,hibernate 生成的主题 id 如下所示
有几个大的差距:4555到255051、255067到260051、265057到270051
这是一种浪费,而不是一种理想的行为。
有谁知道为什么会发生这种情况并且热修复它
谢谢
c - C:通过静音间隙分割wav文件
我有一堆人类阅读简单句子(hello world)作为 wav 文件,如何通过自动识别单词之间的间隙来打破 wav 文件以获取 2 个 wav 文件,每个文件都包含单词(hello 和 world)?不幸的是,我找不到为我做这件事的工具,所以我将编写 C 代码来做到这一点,至于我的理解,wav 文件中的差距应该是低数值,对吗?我知道如何破解文件,我很高兴能找到解决差距识别问题的方法。谢谢!
database - 无间隙的序列
我想要一个序列,如果事务被回滚,它将能够再次给我相同的值。这应该适用于集群环境并且速度很快。
换句话说,我不想在计算中出现漏洞。
例子:
我有 5 笔交易做同样的事情,在每笔交易中我都会产生下一个价值。
- 事务 1:生成值 1。
- 交易 2:产生的价值 2。
- 交易 3:产生的价值 3。
- 交易 4:产生的价值 4。
- 交易 5:产生的价值 5。
现在让我们假设事务“2”和“4”被回滚。如果我有正常的序列并且我运行下一个事务生成的值将最可能是“6”。我的序列应该返回未使用的值,所以在我们的例子中是“2”或“4”。
sql - 又一个日期空白填充 SQL 谜题
不幸的是,我正在使用 Vertica,这使我无法使用 CROSS APPLY。显然,Vertica 中没有 CTE 之类的东西。
这是我所拥有的:
请注意,在第一天,增量等于指标值。我想填补空白,如下所示:
我每天都在想一种方法,但我真正想要的是一个一次性的解决方案。
我想我可以使用 LAST_VALUE 得到一些东西,但我无法提出正确的 JOIN 语句,让我可以正确地对每个 id 的日常历史进行分区和排序。
编辑:假设我有一个这样的表:
可以参与连接。我的意图是保持calendar中的日期范围与t中的日期范围相匹配。
编辑:关于我正在寻找的内容的更多说明,具体而言:
在生成t_fill时,我想准确覆盖t中的日期范围,以及介于两者之间的任何日期。因此,正确的t_fill将在与t相同的日期开始并在相同的日期结束。 t_fill有两个属性:
1)一旦某个 id 出现在某个日期,它总是会在以后的每个日期都有一行。这是原始问题中隐含的填补空白。
2)如果在某个日期之后不再出现 id 的行,则t_fill解决方案应该愉快地生成从最后一个数据点的日期到t的结束日期具有相同度量值(和 0 增量)的行。
解决方案可能会回填较早的日期,直到t中日期范围的开始。也就是说,对于出现在 t 中的第一个日期之后的任何 id,t中的第一个日期和该 id 的第一个日期之间的行将填充 metric=0 和 d_metric=0。我不喜欢这种解决方案,因为它对进入系统的每个 id 都有更高的增长因子。但是我可以通过仅在新表中选择 metric!=0 和 d_metric!=0 的行来轻松处理它。
java - 冒泡排序到间隙排序的修改
我遇到了问题,需要您的指导。基本上我设法创建了这个冒泡排序方法。我如何将其修改为间隙排序,而不是每次通过列表比较相邻元素,而是比较相隔一些数字(i)位置的元素,其中(i)是小于 n 的整数。例如,将第一个元素与 (i + 1) 元素进行比较,将第二个元素与 (i + 2) 元素进行比较,将第 n 个元素与 (ni) 元素进行比较,等等。当所有元素都完成时,一次迭代完成可以比较的,可以比较的。在下一次迭代中,将 i 减少某个大于 1 的数字,并且该过程继续进行,直到 i 小于 1
global - 推重标签算法
我已经做了一个 MATLAB 版本的 push-relabel FIFO 代码(和维基百科上的完全一样并尝试过。放电功能和维基百科完全一样。
它非常适用于小图(例如节点数 = 7)。但是,当我增加图形大小(即节点/顶点数> 3500 或更多)时,“重新标记”函数运行非常缓慢,这在“放电”函数中被调用。我的图表很大(即 > 3000 个节点),所以我需要优化我的代码。
我尝试根据 WIKIPEDIA 关于全局重新标记/间隙重新标记的建议优化代码:1)为每个节点制作邻居列表,并让 index seen[u] 成为迭代器,而不是 range 。2)使用间隙启发式。
我被困在第一个,我不明白我到底要做什么,因为似乎遗漏了细节。(我制作了邻居列表,这样对于顶点 u,到 u 的任何连接节点 v(1..n) 都已经在邻居列表中,只是不确定如何使用 seen[u] 索引进行迭代)。
AND 放电函数使用 's' 邻域结构列表:
while (excess(u) > 0) %测试当前节点是否超出>0,如果是...
结尾
有人可以指导,展示或帮助我吗?
heuristics - 推送重新标记间隙启发式
我不明白如何通过推送重新标记来实现间隙启发式。维基是这样描述的:
“在间隙重新标记启发式中,我们维护一个大小为 n 的数组 A,在 A[i] 中保存每个标签的节点数(最多 n)。如果找到标签 d,使得 A[d] = 0,那么所有标签 > d 的节点都被重新标记为标签 n。”
使用间隙启发式。如果有一个'k'使得没有节点height(u)=k,您可以为除source之外的所有节点设置height(u)= max(height(u),height(source)+1),其中height (u) >k。这是因为任何这样的“k”都表示图中的最小切割,并且不会有更多的流量从节点 S={u where height(u) > k} 流向 T={v, where height(v) 中的节点0。但是 height(u) > height(v)+1 与 height(u) > k 和 height(v) < k 相矛盾。
有人可以用伪代码向我解释如何将间隙启发式添加到 FIFO 推送重新标签中,如 wiki 的示例代码中所示?
谢谢,文斯
mysql - 用平均值填充表中 NULL-s 的空白
我有一个包含字段(id,letter,date)
和一些数据的表:
我想用最近的非 NULL 值的平均日期填充 NULL 值。像那样:
或者,也许,甚至像这样:
两种变体都很棒。有没有简单的方法在 MySQL 中实现它?
提前致谢
UPD 表非常大,大约有 700.000 条记录,并且像描述的那样大约有 50.000 个间隙。
UPD2 更干净一点:表可能是这样的:
预期的结果如下:
(星号表示更改的值)。谢谢
UPD3 谢谢大家。但我会以另一种方式来做,用一个简单的公式计算日期:need_date = [(max(date)-min(date))/(max(id)-min(id)]*(my_ID-min(id )) + 分钟(日期)
matlab - 在 Matlab 中从一个有间隙的数据集中创建多个无间隙矩阵(或结构)
我有一些时间序列中存在空白的数据。找到间隙的索引以及长度和所有内容。问题是我想将我的数据(列:时间和测量值)分割成几个矩阵/向量或将其分割成一个结构。我的计划是对这些小时间序列进行傅立叶变换以进行进一步比较。
让我们试着用一个例子来解释:Tdat 是时间序列,有 3825 个点
这里的间隙数是 8
没有间隙的数据系列数为 9
这些差距之间的点数是 425。
因此,我希望有 9 个不同的矩阵/向量,其中只有数据并且每个长度为 425 没有时间间隙。
有什么方法或者我没有搜索到足够好的答案吗?
c# - 转换为 Linq(重叠验证)
我有一个元组列表,我想找到重叠:
如何将其转换为 linq?我怎样才能找到 linq 是否也存在差距?