同时发布于leetcode论坛中
题目要求:
如果出现下述两种情况(两者任一),交易 可能无效:
- 1.交易金额超过 ¥1000
- 2.它和另一个城市中同名的另一笔交易相隔不超过 60 分钟(包含 60 分钟整)
每个交易字符串 transactions[i] 由一些用逗号分隔的值组成,这些值分别表示交易的名称,时间(以分钟计),金额以及城市。
给你一份交易清单 transactions,返回可能无效的交易列表。你可以按任何顺序返回答案。
//第一个用例
输入:transactions = ["alice,20,800,mtv","alice,50,100,beijing"]
输出:["alice,20,800,mtv","alice,50,100,beijing"]
解释:第一笔交易是无效的,因为第二笔交易和它间隔不超过 60 分钟、名称相同且发生在不同的城市。同样,第二笔交易也是无效的。
//第二个用例
输入:transactions = ["alice,20,800,mtv","alice,50,1200,mtv"]
输出:["alice,50,1200,mtv"]
# 现在展示答案:
class Solution(object):
def invalidTransactions(self, transactions):
results = []
for i in range(0, len(transactions)):
flag=False
tmp1 = transactions[i]
Tmp1 = tmp1.split(',')
if int(Tmp1[2]) > 1000:
results.append(tmp1)
continue
for j in range(0, len(transactions)):
tmp2 = transactions[j]
Tmp2 = tmp2.split(',')
if Tmp1[0] == Tmp2[0] and Tmp2[3] != Tmp1[3] and abs(int(Tmp2[1]) - int(Tmp1[1])) <= 60:
flag = True
break
if flag:
results.append(tmp1)
return results
```
目前这个答案在leetcode上的结果为:
感谢大家的浏览!