小编raj*_*k10的帖子

查找给定范围内所有数字的XOR

给你一个很大的范围[a,b],其中'a'和'b'通常在1到4,000,000,000之间.您必须找出给定范围内所有数字的XOR.

TopCoder SRM中使用了此问题.我看到了比赛中提交的一个解决方案,我无法弄清楚它是如何工作的.

有人可以帮助解释获胜的解决方案:

long long f(long long a) {
     long long res[] = {a,1,a+1,0};
     return res[a%4];
}

long long getXor(long long a, long long b) {
     return f(b)^f(a-1);
}
Run Code Online (Sandbox Code Playgroud)

这里,getXor()是计算传递范围[a,b]中所有数字的xor的实际函数,"f()"是辅助函数.

algorithm

94
推荐指数
2
解决办法
4万
查看次数

如何以递增的顺序找到3个数字并在线性时间内增加数组中的索引

我在一个网站上遇到过这个问题.正如那里提到的那样,在亚马逊的采访中被问到了.在给定的约束条件下,我无法找到合适的解决方案.

给定一个n整数数组,找到3个元素,a[i] < a[j] < a[k]i < j < kO(n)时间内.

arrays algorithm

19
推荐指数
1
解决办法
2万
查看次数

如何初始化遵循Builder模式的bean

我有一个常见的情况:我有一个场景,其中对象创建由构建器处理.例如

Class Client; // Creates a builder object.
Class Builder; // Can be used to set the desired params and then invoke build on it to return Service object.
e.g.-
client.createBuilder().withDefaultBinding(new StandardBinder())
            .withDefaultMetricsFactory(new StandardMetricsFactory())
            .withCacheSolution(cacheSolution)
            .build();
Run Code Online (Sandbox Code Playgroud)

但是,Builder没有标准的setter.它执行一些任务,然后将结果设置为Builder的内部对象,因此不能将它们视为属性.

我读过:Spring:使用builder模式创建一个bean

我想调用构建器以使用Spring XML配置完全检索最终对象.我不想自己创建一个工厂 - 我想知道是否有一种方法可以使用开箱即用的Spring XML配置来生成上述场景中的服务对象?我对Spring的理解给我的印象是,这可以通过在构建器对象上调用一组setter方法(不显式设置属性)并最终调用构建来获取服务对象来完成.如果可能的话,它将如何实现?

java spring

1
推荐指数
1
解决办法
1623
查看次数

标签 统计

algorithm ×2

arrays ×1

java ×1

spring ×1