# 1169.Invalid Transactions

A transaction is possibly invalid if:

the amount exceeds \$1000, or; if it occurs within (and including) 60 minutes of another transaction with the same name in a different city. Each transaction string transactions[i] consists of comma separated values representing the name, time (in minutes), amount, and city of the transaction.

Given a list of transactions, return a list of transactions that are possibly invalid. You may return the answer in any order.

`Example 1:​Input: transactions = ["alice,20,800,mtv","alice,50,100,beijing"]Output: ["alice,20,800,mtv","alice,50,100,beijing"]Explanation: The first transaction is invalid because the second transaction occurs within a difference of 60 minutes, have the same name and is in a different city. Similarly the second one is invalid too.Example 2:​Input: transactions = ["alice,20,800,mtv","alice,50,1200,mtv"]Output: ["alice,50,1200,mtv"]Example 3:​Input: transactions = ["alice,20,800,mtv","bob,50,1200,mtv"]Output: ["bob,50,1200,mtv"]​​Constraints:​transactions.length <= 1000Each transactions[i] takes the form "{name},{time},{amount},{city}"Each {name} and {city} consist of lowercase English letters, and have lengths between 1 and 10.Each {time} consist of digits, and represent an integer between 0 and 1000.Each {amount} consist of digits, and represent an integer between 0 and 2000.`

`class Solution {public:    vector<string> invalidTransactions(vector<string>& transactions) {        vector<bool> invalid(transactions.size(), false);        vector<vector<string>> trans;        for(auto t: transactions)        {            string tmp;            vector<string> tt;            for(auto c:t)            {                if(c ==',') {                    tt.push_back(tmp);                     tmp="";               }                else                tmp+=c;            }            tt.push_back(tmp);            trans.push_back(tt);        }      //  cout<<trans<<endl;​        for(int i=0;i<trans.size();i++)        {              if(stoi(trans[i]) > 1000) invalid[i]=true;              for(int j=i+1;j<trans.size();j++)              {                    if( (trans[i] == trans[j]) && abs(stoi(trans[i] ) - stoi(trans[j] )) <= 60  && (trans[i] != trans[j]) )  {       //         cout<<stoi(trans[i])<<" "<< stoi(trans[i-1])<<endl;                invalid[i] = true;                invalid[j] = true;​           }                      }        }​vector<string> res;for(int i=0;i<trans.size();i++){    if(invalid[i]) res.push_back(transactions[i]);}return res;    }};`