3. Difference Between Filtered Even- and Odd-Index Sums

1. Description

You are given an integer array numbers.
Return the sum of valid elements at even indices minus the sum of valid elements at odd indices, where valid values are in the range [-100, 100].

2. Solution

n = numbers.size()
Time complexity: O(n)
Space complexity: O(1)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
int solution(const vector<int>& numbers) {
    int even_sum = 0, odd_sum = 0;
    for (int i = 0, n = numbers.size(); i < n; ++i) {
        if (-100 <= numbers[i] && numbers[i] <= 100) {
            if (i % 2 == 0) {
                even_sum += numbers[i];
            } else {
                odd_sum += numbers[i];
            }
        }
    }

    return even_sum - odd_sum;
}
comments powered by Disqus