Untitled

 avatar
unknown
plain_text
a month ago
982 B
2
Indexable
#include <bits/stdc++.h>
using namespace std;

class Solution {
  public:
    bool subArrayExists(vector<int>& arr) {
        unordered_set<int> prefixSumSet;
        int sum = 0;

        for (int num : arr) {
            sum += num;
            // If sum is 0 or it has been seen before, subarray exists
            if (sum == 0 || prefixSumSet.find(sum) != prefixSumSet.end()) {
                return true;
            }
            prefixSumSet.insert(sum);
        }
        return false;
    }
};

int main() {
    int t;
    cin >> t;
    cin.ignore();
    while (t--) {
        vector<int> arr;
        string input;
        getline(cin, input);
        stringstream ss(input);
        int number;
        while (ss >> number) {
            arr.push_back(number);
        }

        Solution obj;
        if (obj.subArrayExists(arr))
            cout << "true\n";
        else
            cout << "false\n";
    }
    return 0;
}
Editor is loading...
Leave a Comment