. - 力扣(LeetCode) from typing import List # 直接求就行,其中当target大于最后一位求余的数字时,是不可能会等于target的 class Solution: def getGoodIndices(self, variables: List[List[int]], target: int) -> List[int]: good_list = [] for index, item in enumerate(variables): if item[-1] <= target: continue if (item[0] ** item[1] % 10) ** item[2] % item[3] == target: good_list.append(index) return good_list # python 的pow()函数可以用于幂运算和求模幂运算。 def getGoodIndicesExpend(self, variables: List[List[int]], target: int) -> List[int]: good_list = [] for index, item in enumerate(variables): if item[-1] <= target: continue if pow(pow(item[0], item[1], 10), item[2], item[3]) == target: good_list.append(index) return good_list # 使用列表推导式 def getGoodIndicesMoreExpend(self, variables: List[List[int]], target: int) -> List[int]: return [index for index, item in enumerate(variables) if item[-1] >= target and pow(pow(item[0], item[1], 10), item[2], item[3]) == target]