然后下一个代码正在编译:
List<Number> list1 = null;
List<? super Integer> list2 = null;
list2 = list1;
Run Code Online (Sandbox Code Playgroud)
虽然此代码未编译:
List<? super Number> list1 = null;
List<? extends Integer> list2= null;
list1 = list2;
Run Code Online (Sandbox Code Playgroud)
问题是为什么?
我得到了一个带有date类型列的表,并且默认设置为:getdate()
但是当我尝试datediff()对两个分开的原始数据执行时,它总是给出0或某个常量值.如何指定日期的默认值并执行datediff()该操作?
CREATE TABLE Test
(
id INT PRIMARY KEY NOT NULL IDENTITY,
date DATE DEFAULT getdate() NOT NULL,
user VARCHAR(100)
);
CREATE UNIQUE INDEX Test_id_uindex ON Test (id);
Run Code Online (Sandbox Code Playgroud)
调用以下原始数据,延迟时间为1秒或更长
INSERT INTO Test(user) VALUES ('Cool1')INSERT INTO Test(user) VALUES ('Cool2')现在查看下面查询的奇怪输出:
SELECT getdate() as date输出:
date
2016-12-22 10:42:40
Run Code Online (Sandbox Code Playgroud)
SELECT * from Test输出:
id date user
1 2016-12-22 Cool
2 2016-12-22 Cool1
Run Code Online (Sandbox Code Playgroud)
最后一个:
SELECT
a.id,
datediff(MILLISECOND, a.date, b.date)
FROM Test a …Run Code Online (Sandbox Code Playgroud) 编辑:找到了对此算法的改进.欢迎您来看看.
这个问题是我老问题的改进.现在我想向您展示Java代码示例,并更详细地解释我的算法.
我认为我找到了一个多项式算法来获得旅行商问题的精确解.我的实现是从5个步骤构建的:
我想从第2步和第3步开始,如果我没有错,我会告诉你其余部分.
所以我现在要向您展示的不是多项式算法,而是对Held-Karp算法的改进,它解决了时间问题O(n ^ 2 2 ^ n)
让我们说我们想用brout算法解决6个城市的路线.有(6-1)!= 120选项,我们需要测试它们并返回最短的路线.所以它看起来像那样(城市名称是:A,B,C,D,E,F):
找出 2 的最大幂x,一个 64 位整数,或返回 -1。
零情况未定义,因为它是 2 的任何幂,因此您的方法可以返回任何数字。
我尝试BigInteger.getLowestSetBit()为此使用,它返回正确的答案,但远非最佳。
示例:输入 -> 输出