1169. Invalid Transactions
Description
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.
You are given an array of strings transaction
where transactions[i]
consists of comma-separated values representing the name, time (in minutes), amount, and city of the transaction.
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 <= 1000
- Each
transactions[i]
takes the form"{name},{time},{amount},{city}"
- Each
{name}
and{city}
consist of lowercase English letters, and have lengths between1
and10
. - Each
{time}
consist of digits, and represent an integer between0
and1000
. - Each
{amount}
consist of digits, and represent an integer between0
and2000
.
Solution
invalid-transactions.py
class Solution:
def invalidTransactions(self, transactions: List[str]) -> List[str]:
ans = []
length = len(transactions)
if not length: return ans
name,time,money,city = [],[],[],[]
add = [1] * length
for trans in transactions:
tran = trans.split(',')
name.append(tran[0])
time.append(int(tran[1]))
money.append(int(tran[2]))
city.append(tran[3])
for i in range(length):
if money[i] > 1000:
add[i] = False
for j in range(i+1,length):
if name[i] == name[j] and abs(time[i]-time[j])<= 60 and city[i]!=city[j]:
add[i] = False
add[j] = False
for ind,val in enumerate(add):
if not val:
ans.append(transactions[ind])
return ans