赞
踩
给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。
假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。
注意:每次拼写(指拼写词汇表中的一个单词)时,chars 中的每个字母都只能用一次。
返回词汇表 words 中你掌握的所有单词的 长度之和。
class Solution(object): def countCharacters(self, words, chars): """ :type words: List[str] :type chars: str :rtype: int """ length = 0 for i in words: if len(i) > len(chars): #这个判断语句用来判定:当arr中的数组长度长于chars时直接跳出大循环,执行下次循环,节省了时间 continue for j in i: #这个循环表示:如果arr中的任意数组中的元素个数大于chars那么肯定是不满足的,跳出当前for循环 if i.count(j) > chars.count(j): break else: #如果上面的for循环执行完,则执行else语句,for和else的用法在下面讲 length += len(i) return(length)
在这个代码中我们用了for 和 else的搭配用法,而通常else会和if一起使用,所以要讲一下for else是什么意思:当for和else一起使用时,只有当for循环全部执行完才会执行else语句,如果for没有执行完,则不执行else语句。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。