标签: greedy

正则表达式 - 贪婪 - 匹配HTML标签,内容和属性

我正在尝试匹配HTML源代码中的特定span-tags.

lang-attribute和标记的内部HTML用作返回新字符串的函数的参数.

我想用被调用函数的结果替换旧标签,属性和内容.

主题是这样的:

<p>Some codesnippet:</p>
<span lang="fsharp">// PE001
let p001 = [0..999]
           |> List.filter (fun n -> n % 3 = 0 || n % 5 = 0)
           |> List.sum
</span>
<p>Another code snippet:</p>
<span lang="C#">//C# testclass
class MyClass {
}
</span>
Run Code Online (Sandbox Code Playgroud)

为了提取lang属性和内容的值,我使用以下表达式对这些值进行分组:

/(<span lang="(.*)">(.*)</span>)/is
Run Code Online (Sandbox Code Playgroud)

由于正则表达式趋于贪婪,因此该表达式与完整主题匹配,而不仅仅是一个span-tag及其内容.

我如何设法匹配一个span-tag?

html php regex greedy regex-greedy

0
推荐指数
1
解决办法
1119
查看次数

我可以在图表中使用Dijkstra的最短路径算法吗?

我有一个有向图,除了离开源(S)的边之外,所有非负边.从源的任何其他顶点都没有边.要找到图中从源(S)到顶点(T)的最短距离,即使离开源的边是负的,我还能使用Dijkstra的最短路径算法吗?

algorithm graph greedy shortest-path graph-algorithm

0
推荐指数
1
解决办法
883
查看次数

引导生活编码问题 - 如何解决此类问题

我正在寻求如何解决这个问题的想法。我的想法是贪婪的方法。

问题是:

你在俄罗斯萨马拉工作了几天,每天都有新的单位工作工资和新的单位食品成本。工作 1 单位消耗 1 单位能量,吃 1 单位食物增加 1 单位能量。以下是您的工作的一些规格:

+你到达时没有钱,但有能量。你的能量永远不会超过你到达时的能量,它永远不会是消极的。

+您每天可以做任何数量的工作(可能根本不做任何工作),仅受您的精力限制。当你的能量为零时,你无法工作。

+您每天可以吃任意数量的食物(可能根本没有任何食物),受您拥有的钱的限制。当你的钱为零时,你不能吃饭。

+您可以在一天结束时进食,进食后无法返回工作。您可以在第二天返回工作。你的真正目标是带着尽可能多的钱回家。计算您可以带回家的最大金额。

例如,考虑 3 天的住宿,其中每天的单位工作报酬如下:收入=[1, 2, 4]。食物的成本是 cost=[1, 3, 6]。你从 e=5 能量单位开始。

*第一天:1 单位工作值 1,1 单位食品成本 1。这一天上班没有经济激励。

*第二天:1 单位工作赚 2,1 单位食品成本 3,因此你花在吃饭上的钱比总收入多,所以这一天没有去上班的经济激励。

*第三天:您每工作单位赚取 4 个单位。今天,食物的成本无关紧要,因为您将直接下班回家。你把所有的精力都花在工作上,收取你的工资:5 x 4 = 20 个单位的钱,然后不买晚饭就回家了。

功能描述 在下面的编辑器中完成功能calculatePro?t。该函数必须返回一个整数,表示在您入住结束时可以带回家的最大收入。

到目前为止我的解决方案(需要改进):

function calculateProfit(n, earning, cost, e) {
    // Write your code here

    let sum = 0

    let ef = e;

    let count = 0;

    let max = 0;

    for (let i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

algorithm dynamic-programming greedy time-complexity

0
推荐指数
1
解决办法
3362
查看次数

贪心算法方法

所以我有这个问题,一个只有 1 个送货员的食品店必须向顾客提供食品。早上所有的订单都收到了,中午他就开始发货了。每个顾客i都有ti(准备和交付食物的时间)和vi(对食物地点的重要性)。因此,如果客户j是第一个客户,他的订单将在Xj = tj时间内交付。如果客户的f食物在客户j之后准备好并交付,则他的食物将在Xf = Xj + tf时间内交付。关于重要性因素,送货员的目标是使迟到的总和最小,其中迟到是: sum from i=1 to n(其中 n 个客户)的vi * Xi

例如:

我有这个客户名单

CUSTOMER        DISTANCE        IMPORTANCE
 1              10              8
 2              1               8
 3              5               7
 4              5               3
 5              3               7
Run Code Online (Sandbox Code Playgroud)

如果我通过每次将它们交付给最近的客户而不考虑他的重要性来对它们进行排序,我将得到以下总和:

(如果 2 个距离相同,则选择最重要的一个)

The sum by distance is :333
(8*1+7*4+7*9+3*14+8*24 = 333)
Run Code Online (Sandbox Code Playgroud)

这将是交货的顺序

 CUSTOMER       DISTANCE        IMPORTANCE
 2              1               8
 5              3               7 …
Run Code Online (Sandbox Code Playgroud)

sorting algorithm optimization schedule greedy

0
推荐指数
1
解决办法
111
查看次数

如何发现"A*"(A STAR)算法?

我的直觉和假设是每当我们不能使用贪婪时,那么A*将成为可行的方式,但我并非100%肯定.我需要更多关于如何识别和发现A*算法的示例和模式.

有人可以给出一些特殊的极端情况,当你第一次看到它并且你知道这不会贪婪或它必须是A*甚至没有打扰尝试.

algorithm design-patterns greedy

-2
推荐指数
1
解决办法
884
查看次数