找到满足约束的数字

时间:2015-06-21 10:24:55

标签: algorithm search

我有两个号码PK。我有一个AN整数的数组。我想找到最小数A[i],它只满足abs(A[i]-P) <= K 0 <= i < N所在的属性A。 给出O(N)已排序。

最初,我想到了O(logN)方法。但我认为可以通过二进制搜索将其优化为<form id="submitdate" action="/date" method="POST"> <b>Date:</b> <input type="text" id="datepick" name="datepick" placeholder="Select Date"> </form> 。但我不知道如何继续前进。

2 个答案:

答案 0 :(得分:1)

使用此:

 for(i=0; i<=n; i++)pre[i]=0;
    for(i=1; i<=n; i++)
    {
            pre[i]=pre[i-1];
            if(s[i-1]=='1')pre[i]++;
    }
    for(i=1; i<=n; i++)
    {
            if(s[i-1]=='0')continue;
            ans += pre[min(n,i+k)]-pre[max(0ll,i-k-1)];
    }
    LL gc=gcd(ans,n*n);
    cout << ans/gc << "/" << (n*n)/gc << endl;

答案 1 :(得分:1)

尝试以下逻辑:

  • 找到SKScene* myScene =[[GameScene alloc]initWithSize:self.size]; myScene.scaleMode = SKSceneScaleModeAspectFill; // Use here the value you used in the view controller when creating the scene for the first time 使用二进制搜索的最小数字索引(如果找不到,请继续
  • 使用二进制搜索找到>= abs(P-K)的最小数字索引,如果没有找到,那么就没有这样的数字。

我认为<= (P+K)