Python-算法语句

2024-01-06

我想编写一个执行以下操作的程序:-

输入示例:

3
10 4 18 2 6 19 24 1 20

预期输出:

4 2 2 2 6 1 1

输入将来自一个文件,其中第一行将包含窗口大小 N,第二行将包含由空格分隔的数字流。您需要输出每个窗口中以空格分隔的最小数字。

这是我写的:-

with open ("file") as f1:
    n = int(f1.readline())
    numbers = f1.readline()

# converting the string of numbers into a list
numbers_list = map(int,numbers[:-1].split(' ')) 

# getting all the sub-lists of size n from the numbers_list and printing their respective minimum elements.
print [min(numbers_list[i:i+n]) for i in xrange(len(numbers_list)-n+1)] 

My o/p

[4, 2, 2, 2, 6, 1, 1]

还有比这更好的解决方案吗?此解决方案的任何优化版本。


map(min, [nums[x:x+window] for x in xrange(len(nums)-(window-1))])

但是,这会创建一个中间列表,因此:

[min(nums[x:x+window]) for x in xrange(len(nums)-(window+1))] 

实际上更好,这就是你目前所拥有的。

有一种更省时的方法,但是需要更多代码。一旦获得窗口的最小值,您所要做的就是查看下一个槽,因此您需要做的就是将前一个 (window-1) 元素的最小值与下一个值进行比较。以较小者为准,这将是结果列表中的下一个数字。重复。

例如,如果您有一个四元素列表,并且窗口大小为 3。结果列表中的第一个值将是前三个元素中的最小值,结果列表中的第二个值将是后三个元素中的最小值元素。

那里有两个元素重叠。因此,您可以保存最后一个 window-1 元素的最小值,并将其与列表中的下一个值进行比较,以获得下一个窗口的最小值。重复。

在文件处理方面,

with open ("file") as f1:
    n = int(f1.readline())
    numbers_list = map(int, f1.readline().split(' ')) 

效率稍微高一些。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python-算法语句 的相关文章

  • 从networkx中的文件中读取具有pos属性的节点

    我是 Networkx 的新手 我有一个包含以下格式的节点位置的文件 0 23 23 12 23 where 0是一个节点 23 23 and 12 23分别是X和Y坐标 有谁知道如何读取节点pos属性 使用类似的函数read edgeli
  • 搜索/替换 xml 内容

    我已经成功地使用 xml etree ElementTree 解析 xml 搜索内容 然后将其写入不同的 xml 然而 我只是处理单个标签内的文本 import os sys glob xml etree ElementTree as ET
  • Django表单中的隐藏字段不在cleaned_data中

    我有这个表格 class CollaboratorForm forms Form user forms CharField label Username max length 100 canvas forms IntegerField wi
  • Django CollectStatic 启动大文件上传时管道损坏

    我正在尝试使用collectstatic将静态文件上传到我的S3存储桶 但我收到一个700k javascript文件的管道损坏错误 这就是错误 Copying Users wedonia work asociados server aso
  • 求 a 范围内的 pow(a^b)modN

    对于给定的b and N以及一系列a say 0 n 我需要找到ans 0 n 1 where ans i 没有a s为此pow a b modN i 我在这里搜索的是可能的重复pow a b modN对于一系列a 以减少计算时间 例子 i
  • 为什么我的字符串中出现不需要的换行符?

    这应该很简单 这很愚蠢 但我无法让它发挥作用 我有一个在读取文件时定义的标头 if gene env in line or gene HIV2gp7 in line header line 现在这个标题看起来像 gt lcl NC 0018
  • dask分布式内存错误

    在分布式作业上运行 Dask 时 我在调度程序上遇到以下错误 distributed core ERROR Traceback most recent call last File usr local lib python3 4 dist
  • 使用 SQLAlchemy 查询 Pandas DataFrame 时重命名列

    当您将数据查询到 pandas 数据帧时 有没有办法保留 SqlAlchemy 属性名称 这是我的数据库的简单映射 对于 school 表 我将数据库名称 SchoolDistrict 重命名为较短的 district 我从 DBA 中删除
  • numpy.polyval() 的反函数

    我想知道 np polyval 是否有一个方便的反函数 我在其中给出 y 值并求解 x 我知道我可以做到这一点的一种方法是 import numpy as np Set up the question p np array 1 1 10 y
  • pip 升级到 pip 10.x.x 后解析需求文件的正确方法?

    所以今天我确实发现随着发布pip 10 x x the req软件包更改了其目录 现在可以在下面找到pip internal req 由于通常的做法是使用parse requirements功能在你的setup py从需求文件中安装所有依赖
  • Python - 从一定范围内随机采样,同时避免某些值

    我一直在阅读有关random sample 函数在random模块 但没有看到任何可以解决我的问题的东西 我知道使用random sample range 1 100 5 会给我来自 人群 的 5 个独特样本 我想得到一个随机数range
  • 抓取 Shopee API v4

    我有一个最终项目 其中我想要检索的数据是通过在shopee上抓取数据来获取的 但是当我在隐藏的API上抓取shopee时遇到问题 当我在Insomnia脚本上尝试时 脚本会运行 但是当我尝试时在本地或 google colab 脚本上 这是
  • 从Python列表中挑选出具有特定索引的项目

    我确信在 Python 中有一种很好的方法可以做到这一点 但我对这门语言还很陌生 所以如果这是一个简单的方法 请原谅我 我有一个列表 我想从该列表中挑选某些值 我想要挑选的值是列表中索引在另一个列表中指定的值 例如 indexes 2 4
  • 如何隐藏 Tkinter python Gui

    有人知道如何隐藏 python GUI Tkinter 我已经创建了键盘记录器 对于 GUI 我使用了 python 模块 Tkinter 我想添加名为 HIDE 的按钮 因此当用户单击它时 它将隐藏 GUI 当用户按下 CTRL E 之类
  • 用于监视文件夹和更新数据库的 Python 守护进程

    这专门用于管理 MP3 文件 但它应该可以轻松地适用于任何包含大量文件的目录结构 我想找到或编写一个守护程序 最好用Python 来监视一个包含许多子文件夹的文件夹 这些子文件夹都应该包含X个MP3文件 每当添加 更新或删除文件时 它都应该
  • ValueError:序列太大;不能大于 32

    我写了这段代码 from Crypto Cipher import AES import numpy as np import cv2 base64 BLOCK SIZE 16 PADDING pad lambda s s BLOCK SI
  • 矩阵行列式算法 C++

    我是编程新手 我一直在寻找一种找到矩阵行列式的方法 我在网上找到了这段代码 但我很难理解这里的算法 我对递归的基础没有问题 但继续和主循环我很难理解 非常感谢任何可以向我解释该算法的人 int determ int a MAX MAX in
  • 导入错误:无法导入名称

    我有一个名为 google translate python 的库 https github com terryyin google translate python https github com terryyin google tra
  • VSCode IntelliSense 认为 Python 'function()' 类存在

    VSCode IntelliSense 正在完成一个名为的 Python 类function 这似乎不存在 例如 这似乎是有效的代码 def foo value return function value foo 0 But functio
  • Mac 无法安装 Tensorflow

    我检查了我的 pip3 和 python3 版本 tensorflow MacBook Pro de Hector 2 tensorflow hectoresteban pip3 V pip 10 0 1 from Users hector

随机推荐

  • github页面CNAME文件可以包含多个域名吗?

    github页面CNAME文件可以包含多个域名吗 示例文件 reggi com www reggi com blog reggi com 不 这是不可能的 请参阅GitHub 帮助文档 https help github com artic
  • C++ 堆损坏检测工具

    有没有工具可以帮助我检测 C 中的堆损坏 我无法提供源代码 因为这是一个大项目 我可以使用任何与 Visual Studio 或 xcode 配合使用的工具 该工具应该可以在多线程下正常工作 这个问题不是很常见 它会在很长一段时间后出现 并
  • 返回特定类型的 TypeScript keyof

    如果我有以下类型 interface Foo bar string baz number qux string 我可以用吗typeof输入一个参数 使其只需要以下键Foo那个返回string bar or qux Typescript 4
  • Application Insights 安全和欺骗

    这可能是一个愚蠢的问题 但是客户端应用程序洞察是否不会被欺骗 Microsoft 要求您向需要记录的 HTML 页面添加一些 JavaScript 其中一部分包含硬编码的仪器密钥 下面不是真正的密钥 instrumentationKey 3
  • 如何查看 DLL 上的公钥令牌

    有谁知道查看 DLL 上的公钥令牌的方法吗 我正在调查代码中的预期内容与正在构建的内容之间可能存在的不匹配情况 提前致谢 它咕噜声 Use Assembly GetExecutingAssembly GetName GetPublicKey
  • 配置 g++ 使用 wxwidget 库构建 c++

    我一直在尝试在 Linux 中使用 Wxwidget 编译并运行一个简单的 C 程序 但是当我构建它时 这就是我尝试构建时得到的结果 Executing task g c find home sopheak Documents WXWIDG
  • 烦人的 vim(取消)缩进规则

    当编辑 PHP 代码 我不确定它是否特定于该语言 并且我在跨多行的逗号分隔列表中间创建一个新行时 缩进规则总是取消我要离开的行的缩进 这是一个视频 http toogeneric com files indent2 mov这种情况发生在数组
  • 等待审核的典型时间? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我将我的第
  • ValueError:无法将大小为 2 的序列复制到维度为 4 的数组轴

    谁能向我解释一下这个错误来自哪里 这意味着什么 我该如何解决这个问题 也许我的问题太笼统了 抱歉 但我不知道我应该在这里放更多什么 P Error Traceback most recent call last File C test 7
  • 大型对象的 Redux 性能

    我正在使用 Redux 和 React 构建一个 Web 应用程序 我的应用程序是一个呈现大量数据的分析应用程序 当我的商店变大时 我会遇到性能问题 避免 redux 中大数据出现性能问题的首选方法是什么 应用结构 我的应用程序的结构是这样
  • AWS 证书管理器 api 不显示导入的证书

    虽然证书管理器 UI 显示我导入的证书状态为 已颁发 但当尝试从 ELB 应用程序 lb 使用它时 我得到 没有可用的证书 对 api 的 POST 请求返回空列表 另外 当我运行 aws acm list certificates max
  • 维护 .NET 项目中引用的 COM dll 的正确版本

    我想在 NET 项目中引用 COM DLL 但我还想确保创建的互操作 DLL 具有正确的版本 以便补丁知道何时必须更改 DLL 如果我使用TlbImp我可以用以下命令指定所需的版本 asmversion标志 但当我直接从 Visual St
  • 如何在反应头盔中预加载最大内容的绘画图像

    我在灯塔收到这个警告 我尝试做 了解更多 链接告诉我要做的事情 并在图像的头部包含一个预加载标签 但我仍然收到警告 我尝试了这个预加载标签 该网址是当我右键单击图像并选择 在新选项卡中打开 时浏览器中的网址 图像刚刚导入到 jsx 组件中
  • Python csv writer 分隔符错误?

    免责声明 我在欧洲 根据这一页 http www paessler com knowledgebase en topic 2293 i have trouble opening csv files with microsoft excel
  • SimpleForm 不带 for(非模型表单)

    是否可以在没有模型的情况下使用简单表单 由 Plataformatec 提供 https github com plataformatec simple form https github com plataformatec simple
  • Xcode 静态分析器抱怨使用 ARC 时存在潜在泄漏

    我正在使用 ARC 和 ios sdk 6 0 我很确定我有一些内存泄漏 我很难追踪到 运行静态分析器后 我收到有关以下两种方法的警告 id
  • 在 Visual Studio 中调暗/隐藏代码日志行

    有什么方法可以使 Visual Studio 变暗或隐藏 显示我的代码的按需日志记录行 我们在项目中使用了大量的日志记录 并且很难阅读这样的代码 我希望它是这样的 例如 Unobtrusive Code 扩展对我来说适用于 Visual S
  • 是否可以通过编程方式禁用 iOS 7 中的控制中心?如果不能,有哪些替代方法?

    我开发了一个使用自下而上滑动手势的应用程序 它在 iOS 6 中工作得很好 但现在 iOS 7 出来了 它可能工作了二十五次之一 我几乎每次都会得到 iOS 7 控制中心 显然 可以在 设置 中禁用控制中心 但这取决于手机所有者 我无法控制
  • Python 中的“变量 //= 值”语法是什么意思? [复制]

    这个问题在这里已经有答案了 我遇到了代码语法d 2其中 d 是变量 这不是任何循环的一部分 我不太明白这个表达 有人可以启发我吗 是楼层划分操作员 这 旁边的意思是 就地 对变量进行操作 它类似于 and 运算符 如果您以前见过这些运算符
  • Python-算法语句

    我想编写一个执行以下操作的程序 输入示例 3 10 4 18 2 6 19 24 1 20 预期输出 4 2 2 2 6 1 1 输入将来自一个文件 其中第一行将包含窗口大小 N 第二行将包含由空格分隔的数字流 您需要输出每个窗口中以空格分