水题,都能AC。
#宝石与石头
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。
输入: J = "aA", S = "aAAbbbb" 输出 3
代码:
class Solution(object): def numJewelsInStones(self, J, S): """ :type J: str :type S: str :rtype: int """ lenght = len(S) for i in range(len(J)): while J[i] in S: S = S.replace(J[i],'') return lenght-len(S)
#转换成小写字母
实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。
输入: "Hello" 输出: "hello"
代码
class Solution: def toLowerCase(self, str): """ :type str: str :rtype: str """ num = "" for s in str: if ord(s) >= ord('A') and ord(s) <= ord('Z'): num += chr(ord(s) - ord('A') + ord('a')) else: num += s return num
#反转图像
给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。 水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。 反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。
输入: [[1,1,0],[1,0,1],[0,0,0]] 输出: [[1,0,0],[0,1,0],[1,1,1]] 解释: 首先翻转每一行: [[0,1,1],[1,0,1],[0,0,0]]; 然后反转图片: [[1,0,0],[0,1,0],[1,1,1]]
代码
class Solution(object): def flipAndInvertImage(self, A): """ :type A: List[List[int]] :rtype: List[List[int]] """ lenght = len(A) for i in range(lenght): A[i]=A[i][::-1] for j in range(len(A[i])): if A[i][j] == 1: A[i][j] = 0 else : A[i][j] = 1 return A
#柠檬水找零
在柠檬水摊上,每一杯柠檬水的售价为 5 美元。 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。 注意,一开始你手头没有任何零钱。 如果你能给每位顾客正确找零,返回 true ,否则返回 false 。
输入:[5,5,5,10,20] 输出:true 解释: 前 3 位顾客那里,我们按顺序收取 3 张 5 美元的钞票。 第 4 位顾客那里,我们收取一张 10 美元的钞票,并返还 5 美元。 第 5 位顾客那里,我们找还一张 10 美元的钞票和一张 5 美元的钞票。 由于所有客户都得到了正确的找零,所以我们输出 true。
代码
class Solution(object): def lemonadeChange(self, bills): """ :type bills: List[int] :rtype: bool """ money_5 = 0 money_10 = 0 money_20 =0 for i in range(len(bills)): buy = bills[i] if buy == 5 : money_5 += 1 elif buy == 10 : money_10 += 1 if money_5 == 0: return False else : money_5 -= 1 elif buy == 20: money_20 += 1 if money_10 == 0: if money_5 >= 3 : money_5 -= 3 else : return False else: if money_5 == 0: return False else : money_5 -= 1 money_10 -= 1 return True