leetcode 刷题 90 91
【摘要】
class Solution: def subsetsWithDup(self, nums: List[int]) -> List[List[int]]: res = [[]] for x, k in collections.Counter(nums).items(): res.extend([subset + [x] * n for subset in r...
class Solution: def subsetsWithDup(self, nums: List[int]) -> List[List[int]]: res = [[]] for x, k in collections.Counter(nums).items(): res.extend([subset + [x] * n for subset in res for n in range(1, k+1)]) return res
- 1
- 2
- 3
- 4
- 5
- 6
- 7
class Solution: def subsetsWithDup(self, nums: List[int]) -> List[List[int]]: res=[[]] for val in nums: n=len(res) for i in range(n): #res[i]+[val] would return a new list without affecting the original res[i] #sort the list to avoid duplicates add=sorted(res[i]+[val]) if add not in res: res.append(add) return res
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
class Solution(object): def numDecodings(self, s): if not s: return 0 dp = [0] * (1 + len(s)) dp[0] = 1 for i in range(1, len(s) + 1): if s[i - 1] != "0": dp[i] = dp[i - 1] if i > 1 and 10 <= int(s[i-2:i]) <= 26: dp[i] += dp[i - 2] return dp[-1]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
class Solution(object): def numDecodings(self, s): if not s: return 0 len_s = len(s) dp = [1] + [0] * len_s for i in range(1, len_s + 1): if s[i - 1] != '0': dp[i] += dp[i - 1] if i >= 2 and 10 <= int(s[i - 2: i]) <= 26: dp[i] += dp[i - 2] return dp[len_s]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
文章来源: maoli.blog.csdn.net,作者:刘润森!,版权归原作者所有,如需转载,请联系作者。
原文链接:maoli.blog.csdn.net/article/details/90575495
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)