1394. Find Lucky Integer in an Array 链接到标题 找幸运数字,可以维护一个数组,然后统计出现过的次数,也可以直接使用 collections.Counter 实现。
class Solution(object): def findLucky(self, arr): """ :type arr: List[int] :rtype: int """ cnt = [0] * 501 for a in arr: cnt[a] += 1 for i in range(500, 0, -1): if cnt[i] == i: return i return -1 1395. Count Number of Teams 链接到标题 遍历数组,假设当前数值是中间位置,因为要考虑到倒序排序,所以要找到左边比当前数值小的和比当前数值大的,找到右边比当前数值小的和比当前数值大的,然后进行排列组合。
class Solution(object): def numTeams(self, rating): """ :type rating: List[int] :rtype: int """ n = len(rating) ans = 0 for i in range(1,n-1): l1,r1= 0,0 l2,r2 =0,0 for j in range(i-1,-1,-1): if rating[j] < rating[i]: l1 += 1 else: l2 += 1 for j in range(i+1,n): if rating[j] > rating[i]: r1 += 1 else: r2 += 1 ans += l1*r1 + l2*r2 return ans 1396.