问题标签 [upperbound]

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 回答
1579 浏览

java - 不能将泛型 Java 类型的类分配给其 Class 类型上限为泛型超类型的变量

我使用 Java 8。在我的设计中,有一些简单的类对值参数进行建模,例如FloatParameterEnumParameter<E>。A 具有这些类的通用通用超类 ( GenericParameter<T>),它实现了参数名称及其默认值。子类实现了特定于它们的其他属性,例如FloatParameter.

此外,我想使用参数的类型,而不管它们的具体类型如何。但我仍然想以它们是GenericParameter<T>. 为了做到这一点,我创建了一个方法,例如process(Class<? extends GenericParameter<?>> paramType).

现在,问题是EnumParameter.class 不能分配给类型变量,Class<? extends GenericParameter<?>>FloatParameter.class 可以

此外,我列出了类的代码以使其更加清晰和可重复:

最后,当使用非泛型基类时,没有问题:

请问,您有什么建议吗?

我可以process(Class<?> paramType)作为一种解决方法或进行强制转换,但我想从编译器的静态类型检查中受益。

编辑:

在注册为每种参数类型生成 GUI 组件的工厂时,我想使用强制转换。代码如下所示:

在这种情况下,编译器会在编译时检查添加的参数类型。此外,代码将更加不言自明。

编辑2:

目前,我正在使用建议的方法来为该方法引入类型参数addParameterComponentFactory。签名如下所示:

通过这个定义,我可以指定TypedParameter.classEnumParameter.class- 也是一个类型参数)以及获得静态类型检查。

0 投票
1 回答
654 浏览

java - 如何类型变量允许错误类型?

运行时,以下是输出:

当它已经有上限时,怎么可能A是 type ?IntegerString

请解释一下。

0 投票
2 回答
250 浏览

c++ - 需要将 for 循环的上限保存在额外的变量中吗?

我经常在旧代码中看到

而不是

我猜第一个实现应该防止GetNum()在每个周期调用。但是,C++11 中的编译器是否会对第二个代码片段进行一些优化,从而使num变量过时?

我应该总是更喜欢第一个实现吗?

如果该问题 100% 重复另一个问题,请告诉我并关闭此问题。没问题。

0 投票
2 回答
1509 浏览

c++ - 如何检查 map::lower_bound 失败?

我想从 map a 中获取一个 key-val 对,其中 key 小于或等于给定的 K。我想得到 end (或 rend 或任何错误指示)如此简单的代码并且几乎相同

对于lower_bound 和upper_bound,我得到了同样糟糕的结果。我做错了什么?

0 投票
1 回答
266 浏览

algorithm - 如何证明并行算法的上限/下限?

假设一个斐波那契算法:

在此处输入图像描述

我们被要求证明该算法的上限/下限。

我该如何进行?

更新

所以我会解释我自己做了什么,并说明我被困在哪里。

我不知道为什么,但我决定在这里使用递归关系来查看我在哪里可以获得最终结果。但是我怀疑我的工作的原因是上限/下限是识别算法在资源方面的“无限”。

所以,并行算法有:

功(n) = W(n - 1) + W(n - 2) + Θ(1)

此时,我决定使用递归关系-不知道-

老实说,我不知道这是否有意义。

给出了正式的解决方案: 在此处输入图像描述

但我不太明白上面采取的步骤

0 投票
0 回答
40 浏览

java - 三重嵌套 Java 泛型

我试图在更复杂的示例中理解 Java 泛型和 UpperBound 通配符。

我有一个扩展任何类型对象列表的任何列表的列表:

我在想我的第一个嵌套列表是否真的可以接受 ArrayList 的任何实现。

在我看来:

应该是子类型:

所以我尝试过这样的方式:

不幸的是,这不起作用。

我需要做的是:

我不确定这是什么原因。

@Edit 现在当我看到这个时:

是不是因为即使

是子类型

当我们将它放入另一个列表的泛型类型时,它不再是协变的吗?

0 投票
1 回答
46 浏览

java - 证明 F(x)+G(x) 的上界

我偶然发现了以下问题:如果f(x),g(x) > 1对于每个x,请证明/反驳以下内容:

f(x)+g(x)= O(f(x)*g(x))

我不知道如何开始证明,这对我的水平来说非常基础,请帮助。

0 投票
1 回答
512 浏览

algorithm - 寻找复杂性的下限和上限

我想找到这个算法复杂度的下限和上限

通过将其写下来并简化为

似乎复杂度的上限是 O(n^4),因为 0.5*n^4 是最重要的元素。

对于复杂度的下限,我使用了公式

对于 0 < c < 1,下限似乎是 Ω(n^3)

我的推理对这两种情况都正确吗?有没有更容易找到欧米茄的方法?感谢您的时间 :)

0 投票
2 回答
378 浏览

arrays - 如何在对数组上使用upper_bound在 C++ 中?

我想在对数组上使用upper_bound,并且也使用比较对的第二个参数的比较器函数。请帮忙。

代码


编辑:我已经更正了返回类型,但我似乎没有得到我想要的输出。
我有一个命名时间数组,pair<int,int>其中包含开始和结束时间分别作为第一个和第二个参数,并根据结束时间以递增的方式排序。

目前我在索引 p。我想找到数组的最大索引(= j),这样time[j].second <= time[p].first.
例如。
time = { (1,5), (4,7) , (6, 12) } 如果 p = 2(基于 0 的索引),则 j 应为 = 0(如 5 <= 6 但 7 > 6)但上限给我 j = 2。

我怎样才能做到这一点?

0 投票
0 回答
130 浏览

algorithm - 上限高峰时段游戏

我试图了解高峰时间游戏拼图的上限复杂性。我正在处理一块9x9板,22车辆,包括卡车(3 格长)和汽车(2 格长)。

根据我的逻辑,考虑到汽车可以8 times9x9板上朝一个方向移动,计算8^22结果为7.34e+19。这意味着这个谜题的上限是7.34e+19不同的状态。

对我来说这似乎太过分了,因为我想计算我的算法与解决方案的接近程度,考虑到迭代板状态的数量。即使假设所有车辆都是卡车,因此只能移动7时间似乎也太大了。

我的上限被高估了吗?也许我应该考虑到可移动空间的数量是唯一不被车辆占用的空间。