小编sha*_*cov的帖子

如何在未排序的只读数组中找到第K个最小整数?

这是一个标准问题,已在多个站点中多次回答,但在此版本中还有其他限制:

  1. 该数组是只读的(我们无法修改数组).
  2. 在O(1)空间中进行.

有人可以在最佳的时间复杂性中向我解释这种方法.

arrays algorithm

11
推荐指数
2
解决办法
6716
查看次数

为什么不可能构造具有预订,后序和级别顺序遍历的二叉树?

鉴于:

  1. 预订遍历.
  2. 后序遍历.
  3. 级别顺序遍历.

一个人不能用12或23或31或甚至123给出二进制树!为什么是这样?为什么InOrder Traversal对于构建原始树非常重要?

algorithm tree

9
推荐指数
1
解决办法
3012
查看次数

将多行合并为一行并组合列SQL

我试图让这个视图查询两个表,然后将每个程序ID汇总到一行,其中AttributeNames列中的所有AttributeNames一起

我加入了这两个表,它提取了适当数量的记录.
现在,我需要的部分就是将每个ProgramID和一个所有AttributeNames一起放在每个id的AttributeNames列中.

示例:全部在一行中.

ProgramID      | AttributeNames
887            | Studydesign, Control Groups, Primary Outcomes.
Run Code Online (Sandbox Code Playgroud)

这是我需要修改的SQL VIEW的图像,所以它执行此操作: 在此输入图像描述

查询:

SELECT TOP (100) PERCENT dbo.tblProgramAttributes.ProgramID,
       dbo.tblProgramAttributes.AttributeID AS PAattributeID, 
       dbo.tblAttributes.AttributeID, 
       dbo.tblAttributes.AttributeName
FROM   dbo.tblProgramAttributes INNER JOIN
       dbo.tblAttributes 
ON     dbo.tblProgramAttributes.AttributeID = dbo.tblAttributes.AttributeID
WHERE (dbo.tblProgramAttributes.AttributeID NOT LIKE '%ProgramType%')
ORDER BY dbo.tblProgramAttributes.ProgramID DESC
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2008

8
推荐指数
1
解决办法
4万
查看次数

从某个函数调用层次结构

背景:

在eclipse中工作,我有两个函数:do_somethingperform_task.我知道do_something调用了许多其他函数,这些函数反过来调用其他函数(依此类推等),并在某处调用perform_task.

由于这是一个很大的项目,很多流程等等,我已经找到了两个不同的序列,其中do_something通过其他一些函数序列激活perform_task.

Actuall问题:

在eclipse中是否有办法获得某个函数的调用层次结构,但只有序列中还包含序列中的某个其他函数?

考虑到图形路径,我们有一个有向图,而不是询问节点的路径是什么x,我想知道x包含节点的节点的路径是什么y.

eclipse call-hierarchy

8
推荐指数
1
解决办法
217
查看次数

最好的安排工作

我一直在研究这个问题,似乎无法找到正确的答案.有人可以帮我这个吗?

我们得到了N工作[1,..,N].我们将获得完成S(i) >= 0工作的薪水i,以及D(i) >= 0每天通过的扣除额.

我们需要T(i)几天才能完成工作i.假设工作i在一天完成d,我们将获得S(i) - d.D(i)奖励.如果d太大,奖励可能是负面的.我们可以在流程中切换工作并以任何顺序处理工作,这意味着如果我们在第1天开始工作1需要5天,我们就不必连续工作5天工作1.

我们如何确定最佳的工作安排,以便我们能够完成所有工作并获得最高工资?

algorithm

6
推荐指数
1
解决办法
122
查看次数

最小化两个数组的绝对差之和

我有两个整数数组AB大小均为n。一对的成本是|A(i) - B(i)|。我想将 A 和 B 的 n 个元素配对,以使所有s 和s
的所有成本之和最小化。A(i)B(i)

我知道我可以O(n log n)通过排序A,然后排序B,然后将它们1...n分别配对在一起,但是在尝试了几个小时之后,我不知道如何证明这一点。有人可以帮我吗?

我已经看到了如何实现它,但我只是不知道如何证明它

sorting algorithm proof time-complexity data-structures

6
推荐指数
1
解决办法
2355
查看次数

计算游戏“GO”的得分

有谁知道如何以编程方式计算围棋游戏的分数?我有一个 19x19 的数组,这个数组的每个元素可以是 0(空点)、1(黑子)或 2(白子)。我不明白如何检查该区域属于任何颜色。

algorithm logic

5
推荐指数
1
解决办法
3483
查看次数

对数组的索引进行排序

我有一个看起来像这样的数组:a[]={2,3,4,5,8,2,5,6}
现在我想对索引进行排序,但保持原始数组不变,并得到这样的东西a_index[]={0,5,1,2,3,6,7,4}......

我有一个O(N^2)算法。有人能给我一个更好的吗(最好是O(NlogN))?

c arrays sorting algorithm

5
推荐指数
1
解决办法
1716
查看次数

3维跳点搜索算法

是否有3维(甚至D维)跳转点搜索算法的实现?

目前,我只能找到一个二维的,但是我认为可以为更高的维度制定算法。

algorithm geometry a-star path-finding

5
推荐指数
1
解决办法
160
查看次数

如何在满足以下约束的n个元素的数组中分配随机值?

假设a是我的n元素数组.

约束:

  1. alpha <= a [i] <= beta.
  2. 0 <= alpha <= beta <= 1.
  3. a中所有元素的总和应该恰好为1.

假设对于给定的alpha和beta值,这样的数组总是可行的

这就是我的想法:

随机分配alpha和beta之间的值.找到数组元素的总和.如果sum> 1,则用x减去所有元素,以满足约束.如果sum <1,则使用x添加所有元素,以满足约束.

但我发现很难找到新映射的值.

arrays algorithm math

5
推荐指数
1
解决办法
136
查看次数