小编use*_*338的帖子

Codility测试 - 在范围内找到倍数

我申请了一份工作,并被要求做一个Codility测试.测试如下:

返回可被K整除的[A..B]范围内的整数数.

ARGS:

  • 答:是[0..2,000,000,000]范围内的整数
  • B:是[0..2,000,000,000]范围内的整数,A <= B
  • K:是[1..2,000,000,000]范围内的整数

时间复杂度必须为O(1).

我知道我的解决方案不是O(1),我无法想出比这更好的解决方案.任何人都可以开导我吗?

顺便说一下,它在C#中所以'int'足够大,可容纳2000000000.

public int solution(int A, int B, int K) 
{
    int i=0;

    for(int x=A;x<=B;x++)
    {
        if((x % K) == 0)
            i++;
    }

    return i;
}
Run Code Online (Sandbox Code Playgroud)

c# algorithm time-complexity

5
推荐指数
3
解决办法
2万
查看次数

标签 统计

algorithm ×1

c# ×1

time-complexity ×1