问题标签 [greedy]

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.

0 投票
1 回答
487 浏览

c# - RegEx 最近的词匹配贪婪

我有这个文字

我想在上面的字符串中获取包含子字符串And或最接近(从左侧或右侧)Or包裹的字符串,其中是一个数字。( )W/digitdigit

在上面的例子中,我应该得到(测试或最佳)(苹果或 10a)

0 投票
2 回答
571 浏览

algorithm - 事件调度贪心

当组织中有 N 个员工时,我们会得到 N 个日期偏移范围。像
1-4 (即员工将在第 1、2、3 和 4 天来)
2-6
8-9
..
1-14
我们必须在最少天数内组织一次活动,以便每个员工都可以参加活动至少两次。请建议算法(可能是贪婪的)来做到这一点。
PS:活动为一日活动。

0 投票
1 回答
1753 浏览

regex - 凯特的前瞻模式

我正在为一本法律书籍编制一个案例表。我已将其转换为 HTML,因此我可以使用标签进行搜索和替换操作,我目前在 Kate 工作。正文引用案例名称,案例引用在脚注中,例如

<i>Smith v Jones</i>127 ......... [other stuff including newline characters].......</br>127 (1937) 173 ER 406;

我已经能够在 Kate 中进行前瞻性工作,使用:

<i>.*</i>([0-9]{1,4}) .+<br/>\1 .*<br/>

...但我遇到了贪婪的问题。

文本很乱,所以我真的需要一步一步地找到匹配项,而不是依赖批处理。

是否有支持前瞻和非贪婪运算符的 Linux(或 Windows)文本编辑器,或者我将不得不尝试 grep 或 sed?

0 投票
1 回答
124 浏览

algorithm - 算法 - 最小化方程

如果给定一个方程,例如 3x + 2y <= 10,我们希望找到 x 和 y 的值,使得 x + y = 最大值和 10 - 3x - 2y 最小化。如何才能做到这一点?我认为它是一个动态编程问题!但不确定我是否正确。

在上面的 x = 0 和 y = 5 将是答案。

谢谢。

0 投票
3 回答
2787 浏览

algorithm - 查找两点之间的最大距离

昨天,我出现在一个采访中。我被困在一个问题中,我在这里问同样的问题。

给定一个数组,显示 x 轴上的点,有 N 个点。还赠送了M币。

您必须最大化任意两点之间的最小距离。

请帮助我,因为我完全陷入了这个问题。

0 投票
3 回答
994 浏览

algorithm - 如何发现“A*”(A STAR)算法?

我的直觉和假设是,只要我们不能使用贪婪,那么 A* 将是要走的路,但我不是 100% 确定。我需要更多关于如何识别和发现 A* 算法的示例和模式。

有人可以给出一些特殊的极端情况,当你第一次看到它时,你就知道这不会是贪婪的,或者它必须是 A* 甚至不用费心去尝试。

0 投票
6 回答
15061 浏览

algorithm - Given an array of integers, find the LARGEST number using the digits of the array such that it is divisible by 3

E.g.: Array: 4,3,0,1,5 {Assume all digits are >=0. Also each element in array correspond to a digit. i.e. each element on the array is between 0 and 9. }

In the above array, the largest number is: 5430 {using digits 5, 4, 3 and 0 from the array}

My Approach:

For divisibility by 3, we need the sum of digits to be divisible by 3. So,

  1. Step-1: Remove all the zeroes from the array.
  2. Step-2: These zeroes will come at the end. {Since they dont affect the sum and we have to find the largest number}
  3. Step-3: Find the subset of the elements of array (excluding zeroes) such that the number of digits is MAXIMUM and also that the sum of digits is MAXIMUM and the sum is divisible by 3.
  4. STEP-4: The required digit consists of the digits in the above found set in decreasing order.

So, the main step is STEP-3 i.e. How to find the subset such that it contains MAXIMUM possible number of elements such that their sum is MAX and is divisible by 3 .

I was thinking, maybe Step-3 could be done by GREEDY CHOICE of taking all the elements and keep on removing the smallest element in the set till the sum is divisible by 3.

But i am not convinced that this GREEDY choice will work.

Please tell if my approach is correct. If it is, then please suggest as to how to do Step-3 ?

Also, please suggest any other possible/efficient algorithm.

0 投票
1 回答
71 浏览

javascript - 如何匹配一个贪婪量化的非'['字符字符串,其中不包含字符串'->'?

是一个起点,虽然我不认为它实际上涵盖了这个场景,或者如果它确实涵盖了这个场景,我会感到非常困惑,以至于我无法思考如何将它应用到我需要的东西上。我不知道是否使用.or.....然后我不确定如何实现贪婪、不精确的量化。

正则表达式让我头晕目眩……

0 投票
1 回答
5899 浏览

algorithm - 活动选择贪心法(修改)

可能重复:
在一系列重叠间隔中找到最大和的算法

我正在解决以下修改后的活动调度(贪婪方法)问题:

给定一组 S 的 n 个活动,开始时间为Sifi,完成第 i 个活动的时间。还给定权重wiFoo 进行 ith 活动所赚取的成本

问题是选择使 foo 收益最大化的活动。我们必须返回 foo 可以赚取的最大成本。假设 Foo 一次只能处理一个活动

笔记::

这类似于经典的活动选择问题 ,这里唯一的区别是,对于每个活动,我们都被赋予了一个成本 wi。而且这里的目标太不同了——而不是找到最大大小的相互兼容的活动集,在这个问题中,我们必须找到最大化 foo 总收益的那些活动集。

例子

我如何修改经典的贪婪活动选择算法来解决这个问题。我应该使用什么逻辑来解决上述问题?

0 投票
3 回答
153 浏览

string - 返回包含列表中前两个字符串作为元组的列表

我正在编写一个 Haskell 函数,它接受一个字符串列表并返回一个包含前两个字符串的列表作为结果作为元组。所以一个示例输出将是:

我想这样接近它的方式:

本质上,我认为我可以只选择列表的第一个和第二个索引中的元素,但我遇到了错误。这里有什么帮助吗?