【Python】 3.10

Trp_Cys 2023-03-10 22:35:19

题目: 338. 比特位计数 - 力扣(Leetcode)

class Solution:
    def countBits(self, n: int) -> List[int]:
        #ls = [0]
        #for i in range(1, n + 1):
        #    bin_i = 0
        #    index = 0
        #    while i > 0:
        #        bin_i += (i % 2) * pow(10, index)
        #        index += 1
        #        i //= 2
        #    s = str(bin_i)
        #    ls.append(s.count('1'))
        #return ls
        ls = [0]
        for i in range(1, n + 1):
            bin_n = 0
            index = 0
            t = i
            flag = False
            while i > 0:
                bin_n += (i % 2) * pow(10, index)
                index += 1
                i //= 2
            binStr = str(bin_n)
            if binStr[0] == '1' and binStr[1:].count('0') == index - 1:
                flag = True
                maxTwoPower = i   # 记录当前最大的为2的幂的数
            if flag:
                ls.append(1)
            else:
                if t % 2 == 1:
                    ls.append(ls[t - 1] + 1)
                else:
                    ls.append(ls[t//2])
        return ls

 

 

题目: 118. 杨辉三角 - 力扣(Leetcode)

 

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        res = [[1]*i for i in range(1, numRows + 1)]
        for i in range(2, numRows):
            for j in range(1, i):  # 每一层的第一个和最后一个不需要算
                res[i][j] = res[i-1][j] + res[i-1][j-1]
        return res

 

 

...全文
263 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

30,416

社区成员

发帖
与我相关
我的任务
社区描述
打造最热爱学习的高校社区,帮助大家提升计算机领域知识,带大家打比赛拿奖,提高自我,希望大家共同创造良好的社区氛围。
社区管理员
  • 川川菜鸟
  • 亡心灵
  • 星辰菜鸟
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

监督大家学习,每日学习打卡,以投稿形式打卡。扫码关注公众号,可加入粉丝群和领取大量资源。

试试用AI创作助手写篇文章吧