您的位置:首页 > 大数据 > 人工智能

CareerCup perform increment operation on ai = ai+1 and decrements operation on aj = aj - 1

2014-03-09 16:09 330 查看
Given an array of n elements (a1,a2,..ai,...,an). You are allow to chose any index i and j, such that (i!=j) and allow to perform
increment operation on ai = ai+1 and decrements operation on aj = aj - 1 infinite number of times. How many maximum number of elements you can find that have same number.

example 1:

1 4 1

ans: 3

example 2:

2 1

ans : 1

---------------------------

Increment and decrement could be performed more than once...

uint max_equal(int *a, uint n) {
    int s = 0;
    for (uint i = 0; i < n; i++) {
        s = (s + a[i])%n; // avoid overflow issues at slight cost of performance.
                                   // assumes % returns 0 to n-1.
    }
    return s==0 ? n : n-1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: