当前位置: 首页 > 知识库问答 >
问题:

从一组表示y>=0的区间构建多项式函数

华睿识
2023-03-14

我有一组有序的、不重叠的间隔,它们不共享边界,例如:

long[][] intervals = new long[][]{
    new long[]{ 2, 3 },
    new long[]{ 5, 10 },
    new long[]{ 25, 1200 },
    ...
}

目前,我使用二进制搜索算法来确定值x是否包含在其中一个范围内。这需要大量的CPU工作,并且涉及到范围内的循环。

我现在的想法是形成一个多项式函数,其中

我期望二进制搜索的优势:

  • 如果我有一组有限的范围,我可以准备函数,以便在多个x上重用,在使用二进制函数时,我需要再次为每个` x `运行它

如何在给定一组区间的情况下构建这样的多项式函数?

共有1个答案

朱渝
2023-03-14

你想要这样的东西吗:

public static void main(String[] args) {
    long[][] intervals = new long[][]{
            new long[]{2, 3},
            new long[]{5, 10},
            new long[]{25, 1200}
    };
    long numberToFind = 26;
    long[] interval = findInterval(intervals, numberToFind);
    if (interval.length > 0) {
        System.out.println(numberToFind + " is in range: " + interval[0] + " to " + interval[interval.length - 1]);
    }else {
        System.out.println(numberToFind + " is not in range");
    }

}

private static long[] findInterval(long[][] intervals, long numberToFind) {
    for (long[] interval : intervals) {
        if (numberToFind >= interval[0] && numberToFind <= interval[interval.length - 1]) {
            return interval;
        }
    }
    return new long[0];
}
 类似资料:
  • 为了定义一个多项目构建, 你需要创建一个设置文件 ( settings file). 设置文件放在源代码的根目录, 它指定要包含哪个项目. 它的名字必须叫做 settings.gradle. 在这个例子中, 我们使用一个简单的分层布局. 下面是对应的设置文件: Example 7.11. 多项目构建 - settings.gradle file settings.gradle include "s

  • 我正在尝试使用spring Boot连接到aws。但是,我无法启动我的应用程序。以下是错误消息: 我的pom.xml有以下内容:

  • 运行项目时,出现错误: UnsatisfiedDependencyException:创建文件SQLServerQueryDaoImpl.class中定义的名为“SQL ServerQueryDaoImpl”的bean时出错:未满足的依赖关系通过构造函数参数0表示;嵌套异常是org.springframework.beans.factory.NosuchBeanDefinitionExceptio

  • 0/1背包动态规划算法的空间优化是使用大小等于背包容量的1-d数组(例如A),并在每次迭代i时简单地覆盖A[w](如果需要),其中A[w]表示如果考虑前i个项目并且背包容量为w,则总价值。如果使用这种优化,是否有办法重建选择的项目列表,也许通过在DP算法的每次迭代中保存一些额外信息?例如,在Bellman Ford算法中,可以实现类似的空间优化,并且只要我们保留前身指针的列表,即最后一跳(或第一跳

  • 你可以在同一个构建里加入项目之间的依赖, 举个例子, 一个项目的 JAR 文件被用来编译另外一个项目. 在 api 构建文件里我们将加入一个由 shared 项目产生的 JAR 文件的依赖. 由于这个依赖, Gradle 将确保 shared 项目总是在 api 之前被构建. Example 7.13. 多项目构建 - 项目之间的依赖 api/build.gradle dependencies {

  • 我在使用Spring4.1.6.Release时出现了一个错误。 我不知道这个错误是从哪里来的。Autowire注释应该为我创建bean。我还遗漏了什么注释? 说明服务器遇到一个内部错误,使其无法满足此请求。 例外 servletException:servlet.init()servlet appServlet抛出异常he.coyote.abstractProtocol$abstractConn