我们的应用程序使用 Azure 服务总线进行消息传递。我们创建了几个主题和订阅者。我们每天将发送大约 500 条消息,但在图中它显示了对 500 条消息的数十万个请求。我们的计费价格也是每月 800 美元左右。这对于 500 * 30 条消息来说太多了。我不明白为什么价格这么高,而且我想知道图中的请求是什么意思?。
如果价格的原因是因为请求数量,那么我该如何减少请求数量?。我正确看到的消息。问题仅在于请求。
我有两套如下。从总和至少为 H 的每个集合中找到所有坐标的最佳方法是什么?
A = {(x1,y1), (x2,y2),....(xn,yn)}
B = {(p1,q1), (p2,q2),....(pn,qn)}
Run Code Online (Sandbox Code Playgroud)
如果答案是 (x1,y1) 和 (p1,q1) 那么它应该满足 x1+p1>=H 和 y1+q1>=H。我需要找出所有这些坐标(仅计数)。
例子:
A = {(2,3), (1,6), (5,2), (10,1)}
B = {(5,6), (8,4), (3,5), (1,9), (7,7)}
H = 8
Answer: 7
Explanation:
{
{(1,6),(8,4)},
{(1,6),(7,7)},
{(2,3),(7,7)},
{(5,2),(5,6)},
{(5,2),(7,7)},
{(10,1),(1,9)},
{(10,1),(7,7)}
}
Run Code Online (Sandbox Code Playgroud)
蛮力方法:我可以使用两个 for 循环来遍历两组 A 和 B 的所有组合。但这是 O(N^2) 解决方案。
我知道另一种技术,可以在 x 坐标上对集合 B 进行排序。这样我就可以从 A 中选取每个 x 坐标并在 B 中检查 Hx,识别 Hx 可以在 long n 中完成,但从那里我需要一一计数以检查 y 坐标是否满足条件或不是。
有没有更好的解决方案?
假设有 N 个人,有 M 个任务,并且有一个成本矩阵,它告诉何时将任务分配给一个人需要多少成本。
假设我们可以为一个人分配多个任务。
这意味着如果成本最低,我们可以将所有任务分配给一个人。我知道这个问题可以使用各种技术来解决。其中一些在下面。
问题:但是如果我们设置一个约束,比如只能将连续的任务分配给一个人,会怎么样。
T1 T2 T3
P1 2 2 2
P2 3 1 4
Run Code Online (Sandbox Code Playgroud)
答案:6而不是5
我们可能认为 , P1->T1, P2->T2, P1->T3 = 2+1+2 =5 可以是答案但不是因为(T1和T3是连续的所以不能分配给P1)
P1->T1, P1->T2, P1-T3 = 2+2+2 = 6
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
以下是我录制来自演讲者的音频的示例代码.它工作正常.但是只有当某些音频从扬声器发出时才录制音频.如果没有音频则不记录.实际上我正在用系统的声音进行屏幕录制.由wasapiloop录制的音频长度与屏幕录制长度不匹配,因为wasapiloop仅在有来自扬声器的声音时才录制音频.
WasapiCapture waveLoop = new WasapiLoopbackCapture();
waveLoop.Initialize();
waveLoop.DataAvailable += waveLoop_DataAvailable;
waveLoop.Stopped += waveLoop_Stopped;
waveLoop.Start();
Run Code Online (Sandbox Code Playgroud)
我已经看到一个类似的堆栈流量问题,但我完全不理解它.
任何帮助是极大的赞赏.