Tiimmi的学习日志 4 11.7-8

Tiimmi的学习日志 4

201.11.7 打卡

力扣每日一题 2021.11.7
598. 范围求和 II【简单】

给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。

操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。

在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。

示例 1:

输入: 
m = 3, n = 3
operations = [[2,2],[3,3]]
输出: 4
解释: 
初始状态, M = 
[[0, 0, 0],
 [0, 0, 0],
 [0, 0, 0]]

执行完操作 [2,2] 后, M = 
[[1, 1, 0],
 [1, 1, 0],
 [0, 0, 0]]

执行完操作 [3,3] 后, M = 
[[2, 2, 1],
 [2, 2, 1],
 [1, 1, 1]]

M 中最大的整数是 2, 而且 M 中有4个值为2的元素。因此返回 4。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/range-addition-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 分析:

    由于[0, 0]每次都会被更新到,所以M中最大的整数可以[0, 0]处取得。

    所以,最大整数的个数就是[x, y] 与[0, 0]围成的面积,即 x * y

  • 代码:

class Solution:
    def maxCount(self, m: int, n: int, ops: List[List[int]]) -> int:
        mina, minb = m, n
        for a, b in ops:
            mina = min(mina, a)
            minb = min(minb, b)
        return mina * minb

2021.11.8 打卡

力扣每日一题 2021.11.8
299. 猜数字游戏【中等】

你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:

写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示:

猜测数字中有多少位属于数字和确切位置都猜对了(称为 “Bulls”, 公牛),
有多少位属于数字猜对了但是位置不对(称为 “Cows”, 奶牛)。也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。
给你一个秘密数字 secret 和朋友猜测的数字 guess ,请你返回对朋友这次猜测的提示。

提示的格式为 “xAyB” ,x 是公牛个数, y 是奶牛个数,A 表示公牛,B 表示奶牛。

请注意秘密数字和朋友猜测的数字都可能含有重复数字。

示例 1:

输入: secret = "1807", guess = "7810"
输出: "1A3B"
解释: 数字和位置都对(公牛)用 '|' 连接,数字猜对位置不对(奶牛)的采用斜体加粗标识。
"1807"
  |
"7810"

示例 2:

输入: secret = "1123", guess = "0111"
输出: "1A1B"
解释: 数字和位置都对(公牛)用 '|' 连接,数字猜对位置不对(奶牛)的采用斜体加粗标识。
"1123"        "1123"
  |      or     |
"0111"        "0111"
注意,两个不匹配的 1 中,只有一个会算作奶牛(数字猜对位置不对)。
通过重新排列非公牛数字,其中仅有一个 1 可以成为公牛数字。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/bulls-and-cows
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 分析:

​ 对于公牛数,可以直接记录,只需判断是否相等即可;而奶牛数,在不是公牛数的时候可以分别统计secret和guess的每次数字出现的频率,取最小值,即是奶牛数。

  • 代码:
class Solution:
    def getHint(self, secret: str, guess: str) -> str:
        bulls = 0
        centS, centG = [0] * 10, [0] * 10
        for s, g in zip(secret, guess):
            if s==g:
                bulls += 1
            else:
                centS[int(s)] += 1
                centG[int(g)] += 1
        cows = 0
        for i, j in zip(centS. centG):
            cows += min(i, j)
        return f'{bulls}A{cows}B'

zip():函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同

zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c是一个用于安装PyTorch深度学习框架及其相关扩展库的命令。其中,pytorch、torchvision和torchaudio是三个主要的扩展库,用于提供PyTorch的视觉、音频处理功能;而pytorch-cuda=11.7则是一个用于支持GPU加速的扩展库,确保PyTorch能够充分利用CUDA 11.7的性能优势。 可以看到,此命令中含有两个-c参数,分别指定了PyTorch安装包的两个源。第一个-c指定了pytorch源,该源提供了存储在PyTorch官方网站上的最新版本的PyTorch包;第二个-c指定了空间,该源提供了存储在空间镜像上的PyTorch包和其他扩展包。通过这两个源的组合使用,可以确保在安装PyTorch时获取最新版本的软件包。 总之,这个命令让用户可以方便地从官方网站和其他社区获取安装PyTorch所需的所有组件,并支持GPU加速。安装完成后,用户可以快速地开始使用PyTorch进行深度学习相关的研究和应用。 ### 回答2: “conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c” 这段命令的作用是在 Anaconda 环境中安装 PyTorch 及其各项相关组件。 PyTorch 是一个由 Facebook 开源的深度学习框架,它拥有灵活的可扩展性和易于使用的接口。而 torchvision 和 torchaudio 则是 PyTorch 官方提供的图像和语音处理库,可以帮助用户轻松地进行图像和语音相关的操作。 “pytorch-cuda=11.7” 指定了 CUDA 版本为 11.7,CUDA 是 NVIDIA 提供的并行计算平台和编程模型,让数据科学家可以高效地利用 NVIDIA GPU 的性能。而 PyTorch-cuda 则是 PyTorch 的 CUDA 版本,它可以运行在 NVIDIA GPU 上,提升模型的训练和推断速度。 “-c pytorch -c” 是指通过 PyTorch 官方的 conda 渠道来安装 PyTorch。在 Anaconda 的 channels 中,-c 可以指定要安装的软件包来源,PyTorch 的 channel 是 pytorch,所以这里指定为 -c pytorch。 总之,这条命令的作用是在 Anaconda 环境中安装 PyTorch 及其相关组件,并通过 PyTorch 官方渠道来安装。而且,通过指定 CUDA 的版本为 11.7,还可以利用 NVIDIA GPU 来加速模型的训练和推断。 ### 回答3: conda 是一个开源的包管理器,能够帮助我们安装、管理和维护数据科学相关的软件包。PyTorch 是一种深度学习框架,主要用于构建各种类型的神经网络模型。PyTorch 包含了许多功能强大的库,例如 torchvision 和 torchaudio,它们都可以用来帮助我们处理图像和声音数据。而 pytorch-cuda 是一个可选的包,可以让我们在 GPU 上实现更快的计算,提高程序的性能。 如果想要使用这些包,我们可以在命令行中输入以下命令来安装: “conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c” 其中,“conda install” 是安装包的命令,“pytorch torchvision torchaudio” 是需要安装的包的名称,“pytorch-cuda=11.7” 是可选的 GPU 包,“-c pytorch -c” 则是指定 PyTorch 的安装源。 需要注意的是,这个安装命令中的版本号“11.7”是 CUDA 的版本号,如果你的电脑上安装的是其它版本的 CUDA,你需要更改这个版本号来匹配你的 CUDA 版本。同时,如果你没有安装 CUDA,可以不安装 pytorch-cuda,这样就不需要指定 CUDA 的版本号了。 总结来说,运行这个命令可以安装 PyTorch 及其配套的库,同时也能实现在 GPU 上进行加速计算的功能。安装完成后,你就可以使用 PyTorch 来构建和训练自己的深度学习模型了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tiimmi丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值