问题标签 [bisect]

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 投票
6 回答
6378 浏览

java - Java相当于python中的二等分

Python 的bisect 模块在 Java 中是否有等价物?使用 Python 的 bisect,您可以对方向进行数组二等分。例如bisect.bisect_left

为列表中的项目找到正确的插入点以保持排序顺序。参数 lo 和 hi 可用于指定应考虑的列表子集;默认情况下使用整个列表。

我知道我也可以使用二进制搜索手动执行此操作,但我想知道是否已经有一个库或集合在执行此操作。

0 投票
4 回答
6016 浏览

version-control - Mercurial bisect 有什么用?

我一直在阅读hg bisect,能够知道哪个版本引入了错误很有趣,但我想知道人们将这些信息用于什么。我唯一能想到的就是尝试缩小哪些日期可能需要数据修复,如果它是导致某种形式的无效数据的错误。

更新: 我想我在发布这个之前完全误解了目的。我在想我会进行调试并找到哪一行引入了错误,然后使用 bisect。似乎 bisect 是我不必花时间猜测错误可能在哪里并放置断点或记录的一种方式。相反,我应该编写一个现在失败的小测试,通过过去的修订并让 bisect 告诉我问题出在哪里。

0 投票
1 回答
1583 浏览

python - 用户定义对象的平分和列表(python 3)

在 python 3 之前,我使用 bisect 将用户定义的对象插入到列表中。bisect 对此很满意,因为我的用户定义对象有一个__cmp__定义如何比较对象的定义。我已经阅读了在 python 3 中不支持 cmp 的理由,我对此很好。我认为对我的旧代码的修复是通过将它变成一个元组来“装饰”我的用户定义对象

但是,如果我有我的元组列表,然后尝试...

然后我得到一个错误“builtins.TypeError:不可排序的类型......”

那么,(在 python 3 中)我如何将 bisect 用于不完全由具有自然排序顺序的事物组成的项目列表?

0 投票
2 回答
79 浏览

git - 如何更改提交中的代码以帮助查找错误?

我正在尝试追踪代码中的特定错误,但问题是该错误出现在提交块中的某处,其中检查提交中断是否被注释掉的唯一方法,所以我看不到它是哪个提交.

我需要更改一行代码,并将该行合并到多个提交中,可以这样做吗?

0 投票
2 回答
7945 浏览

math - 二维中两个向量的平分线(可能共线)

通常如何找到两个向量的二等分 b = (bx, by)(我们考虑两个非零向量 u = (ux, uy), v = (vx, vy),它们可能是共线的)。

对于非共线向量,我们可以写:

但是对于共线向量

例子:

0 投票
4 回答
800 浏览

mercurial - 如何从 mercurial 中获取 bisect 的当前状态(好/坏修订的历史)

在 eclipse 中做一个 hg bisect 时,我喜欢我可以看到我过去标记的所有坏和好。
有没有办法在命令行获取这些信息?

0 投票
2 回答
1471 浏览

python - Python二等分列表

我需要编写一个函数来获取一个列表并将其一分为二(如 bisect 模块,但我不能使用它)。我通常会展示我到目前为止所做的事情,但如果没有模块,我真的不知道该怎么做,所以我希望有人可以帮助我。这是我需要弄清楚的确切问题:

编写一个名为 bisect 的函数,它接受一个排序列表和一个目标值,如果存在则返回该值在列表中的索引,如果不存在则返回 None

0 投票
4 回答
6223 浏览

mercurial - 在 Mercurial 存储库中查找文本的首次出现

我有一个包含约 800 个变更集的 Mercurial 存储库,我需要找到出现单词Example的第一个变更集。该词出现在 .php 文件中,而不是提交评论等。

最快/最简单的方法是什么?

0 投票
1 回答
1533 浏览

git - 在 git bisect run 期间运行两个命令

我基本上想这样做git bisect run 'bundle && bundle exec cucumber'

我想在命令行上执行此操作 - 我不想编写 shell 脚本。

0 投票
2 回答
433 浏览

git - 如何针对旧版本的代码使用 ivy 集成版本?

我的组织正在研究在多项目配置中使用 Apache Ivy 进行依赖管理。我们有一个主项目(称为 MAIN),大部分开发都在其中进行,还有一些辅助库项目(称为 LIBPROJ),我们将它们保存在单独的存储库中。我们现在要做的是在库项目发生变化时为它们构建 jar,并将它们提交到主项目,但这很头疼,并导致项目膨胀。

看起来使用像常春藤这样的东西很合适。我们设想使用我们的 Jenkins 服务器自动为 LIBPROJ 构建一个新的库 jar 并将其发布到 ivy,然后使用“latest.integration”版本自动将最新版本的 LIBPROJ 拉入 MAIN。但是,如果我们必须一分为二才能找出问题何时出现,这怎么能行呢?

我现在能想到的唯一方法是在对 LIBPROJ 进行更改时更改我们在 MAIN 中依赖的 LIBPROJ 的版本,但这并不比检查 jar 本身好多少。

我担心这一点的原因是因为在查看旧版本的 MAIN 的情况下,如果我只是检查一个,它将无法构建和运行,因为它要求最新的构建,即使是我的修订版我现在看的可能几天/几周/几个月不同步。这将破坏任何类型的二等分工具(例如在 git 或 mercurial 中),这是我真的不想做的事情。