小编edu*_*eon的帖子

接口类型的 Golang String 方法

我正在解决《Go 编程语言》一书的问题,在练习 7.13 中需要String向接口添加一个方法。

是否可以String()向接口添加方法?因为直到运行时才知道数据类型。

string methods interface go

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

找到具有相同权重O(1)的最接近的整数

我正在解决这个问题:

整数的二进制表示中的1的计数称为该数字的权重.以下算法查找具有相同权重的最接近的整数.例如,对于123(0111 1011)2,最接近的整数是125(0111 1101)2.

O(n)的解决方案,其中n是输入数字的宽度,是通过交换不同的第一对连续位的位置.

有人可以在O(1)运行时和空间中给我一些解决方法吗?

谢谢

algorithm runtime

2
推荐指数
2
解决办法
1927
查看次数

使用java 8查找连续子列表的负和

我正在尝试优化以下代码:

private final static class SubarrayProcessorNegativeSumStrategy 
    implements SubarrayProcessorStrategy {
    @Override public Integer apply(Integer[] array) {
        final List<Integer> numbers = Arrays.asList(array);
        return (int) IntStream.range(0, numbers.size())
            .map(index -> findNegativeSums(numbers, index)).sum();
    } 
    private Integer findNegativeSums(final List<Integer> numbers, 
                                     final Integer startIndex) {
    final Integer numbersSize = numbers.size();
    if (startIndex < numbersSize) {
        return (int) IntStream.range(startIndex, numbers.size())
        .map(newIndex -> numbers.subList(startIndex, newIndex + 1)
        .stream().mapToInt(x -> x).sum())
        .filter(sum -> sum < 0).count();
    } else {
        return 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想避免迭代startIndexnewIndex + 1原始List的每个元素 …

performance lambda functional-programming list java-8

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

表达式的空值

为什么我a使用此代码在变量中获取空值?另外,没有{:?}格式化这不编译?

fn main() {
    let mut a = 5;
    let mut b = 6;
    let n = 7;
    let a = b = n;
    println!("{:?}", a);
}
Run Code Online (Sandbox Code Playgroud)

expression rust

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