8.24 - hard - 102

552. Student Attendance Record II
虽然知道这是一道DP题,但是这个dp状态真的很难找。。。
dp[i] = dp[i].[end with 'P'] + dp[i].[end with 'PL'] + dp[i].[end with 'PLL'] + dp[i].[end with 'LLL']

class Solution(object):
    def checkRecord(self, n):
        if n == 1:
            return 3
        if n == 0:
            return 0
        nums = [1, 1, 2]
        i = 2
        while i < n:
            nums.append((nums[i] + nums[i-1] + nums[i-2])% 1000000007)
            i += 1
        result = (nums[n] + nums[n-1] + nums[n-2]) % 1000000007
        # 这一行表示把A插入到什么位置且A前的一段和A后的一段的变化情况
        for i in range(n):
            result += nums[i+1] * nums[n-i] % 1000000007
            result %= 1000000007
        return result
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,353评论 0 33
  • 又一次的对未来充满了迷茫,在这里工作感觉不到任何的意义,看不到前途和方向,是我的欲望大于了我的能力了是吗? 身体的...
    东北郭先生阅读 2,910评论 0 0
  • 写给我的5.2 感谢陪伴,在加班到凌晨的夜晚下楼见到你,骑着你回家,会改变自己的心情,不再带着加班的疲惫回家,而是...
    木头在燃烧阅读 1,046评论 0 0
  • 傍晚,陪妻儿在河边散步,如水般清凉的空气里,氲氤着桂的幽香,抬头,天空,淡淡的云,若烟飘渺,轻轻拂...
    菩提花儿开阅读 3,511评论 2 2
  • 原创日记(五十)2017年4月18号,天气 晴 通过网上跟朋友们聊天,发现一个常态的问题。那就是每天都感觉很累,到...
    黑砖头文化阅读 1,501评论 0 0