问题标签 [in-place]
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.
python - 在python中为自定义类实现add和iadd?
我正在编写一个Queue
包含大多数操作的列表的类。但我不 sublcass from list
,因为我不想提供所有的list API's
。我在下面粘贴了我的代码。该add
方法似乎工作正常,但iadd
似乎出错了,它没有打印。这是代码:
输出:
compiler-construction - 是否有任何编译器/解释器可以就地优化操作?
当我给论文评分时,我经常观察到这样的错误(有时肯定是自己做的):
此代码生成一个零向量,而不是其分布近似于伯努利随机变量的所需随机二进制向量。
从编程的角度来看,问题在于就地修改。编码人员跳过了一个心理步骤。(还有其他方法可以解决这个问题,基于代码应该完成的数学运算,或者通过切换条件等,但这些都是特定于应用程序的。)单元测试会暴露错误,但我已经无法说服任何学生尝试它们(具体来说,这不是编程课)。首先分配一个输出向量并根据输入向量填充它的代码将防止这种情况发生:
但是,这保证会占用两倍的空间,尽管我会说它更适合这里错误编码器的心理模型,并且通常比完全不浪费空间的真正复杂的算法更容易弄清楚(参见 CLRS快速排序的插图)。
是否有任何编译器/解释器可以优化第二个代码片段之类的代码,以将所需空间减少到就地操作所需的空间?
c# - C# SortedDictionary 就地更新
我有一个 SortedDictionary 定义为:
RosterLine 本身是一个简单的结构:
我可以 .Add(dt, rosterLine) 没问题,并且也可以很好地遍历字典。
我的问题是尝试更新给定日期的 RosterLine 值,例如。
它告诉我:无法修改返回值(此处为字典 def),因为它不是变量。我的目标是用一个迭代循环来做到这一点(我认为这可能是问题所在),但它本身也不会在循环之外工作(如上所述)。
我的问题是:如何使用给定的键(日期)更新 SortedDictionary?
unix - 使用 SED 就地编辑文件似乎可以防止已经运行的进程进行任何进一步的附加操作
我有一个由服务器写入的日志文件。如果服务器出现错误,我编写了一个 bash 脚本向我发送电子邮件。我现在想删除包含错误的行,这样我就不会继续收到电子邮件了。我通过执行以下操作来完成此操作:
但是,在运行 sed 之后,不会再将更改写入日志。我猜这是因为运行 sed 会关闭任何打开的文件描述符或其他东西。但是,当我编辑文件并使用 vi 手动删除警告行时,我没有这个问题。
我还尝试使用“>”和“>>”运算符自己重定向服务器输出,并在使用 sed 编辑文件后发生同样的事情(即它们不再更新)。
d - 元素的就地排序
Phobos 是否有一些可变参数算法来订购 l 值参考参数?就像是
同样order(a, b, c)
,返回元组的功能变体也很好。
如果没有,我想我们应该使用std.algorithm:swap
.
python - 如何计算最大字符串的最小数量?
假设我有一组字符串。如果一个字符串是另一个字符串的子字符串,那么前者应该被移除该集合。
我的想法是迭代原始集合中的所有字符串,并针对集合中的其他字符串对每个字符串进行测试,并删除原始集合中其他字符串的子字符串。但这会导致对原始集的就地修改,这可能会导致实现中的一些问题。
有没有人有更好的想法应该如何实施?谢谢。
python - 如何通过 Python 运行 unix 命令来就地编辑文件
我必须打开一个 xml 文件,修剪它的空格(换行符除外),删除与正则表达式匹配的所有行,然后删除与另一个正则表达式匹配的所有行。现在这是使用 3 个单独的临时文件,我知道这是不必要的。
有没有办法让我用一个文件完成所有这些工作?
python - 使用就地排序列表初始化 numpy 数组
我正在观察一些奇怪的行为。这是代码片段:
这种行为是预期的吗?如果我为就地排序添加一个中间步骤,它会按预期工作:
有人可以解释发生了什么吗?
java - 尝试就地进行快速排序
看起来应该很简单,我之前做过快速排序,但是我的代码中有一些错误,我找不到它。这是我的代码:
我给 quickSortInPlace 方法一个 ArrayList 填充了 10,000 个随机生成的整数,只是为了检查代码的正确性。我希望它会吐出 10,000 个整数的有序 ArrayList。
我已经看了大约 45 分钟了,所以我确定这很愚蠢,我只是看不到它,因为我已经看了很长时间了。它只会返回完全垃圾。任何帮助将不胜感激。谢谢!