与你交谈系列#1

与你交谈系列#1

**封面图片反映了发布时的心情

想从这样的想法开始,有一段时间,我确实有一个习惯,写下我每天遇到的挑战及其潜在的解决方案,无论是我工作的一部分还是空闲时间活动。

从这篇文章开始,我决定推出“与你对话”系列,我会把它们发布在这里(至少现在,最多几天一次),让公众发现它们。

一方面,现在我会时不时地瞥见这里,而不是我结构良好的笔记来修改一些信息,DevCommunity 将处理存储、升序导航和所有其他内容,另一方面,我相信我写的东西这里可能会发现观众不仅仅代表我。快点,我们开始吧

计数出现次数

在使用 DS 时,您经常需要计算值和后记的出现次数,以便以有效的方式查询它们,最好是时间 O(1)。

显然,你可能会想到创建HashTable,然后遍历DS,填充HashTable。这是真的,可能看起来像:

可迭代 = [...]哈希表 = {}对于可迭代的值:    hashtable[值] = hashtable.get(值, 0) + 1

今天我遇到了一种替代方法,该方法可以完美地处理数字列表,从而避免使用哈希表(有时这可能是必要的)。

背后的想法是首先从列表中获取最大值并创建一个新的最大值长度列表,该列表将用作索引映射。

列表_ = [1, 1, 2, 3]最大_ = 最大(列表_)索引 = [0] * max_ # [0, 0, 0, 0]

现在,让我们遍历原始列表并映射索引列表中每个值的出现次数。

1.迭代[1, 1, 2, 3] # 列表 |[0, 1, 0, 0] # 索引2.迭代[1, 1, 2, 3] # 列表    |[0, 2, 0, 0] # 索引3.迭代[1, 1, 2, 3] # 列表       |[0, 2, 1, 0] # 索引4.迭代[1, 1, 2, 3] # 列表          |[0, 2, 1, 1] # 索引

刚刚发生了什么。好吧,基本上,我们从原始列表中获取值并将其用作索引列表中的索引(以及索引处的增量值)。

现在,如果我们想使用映射列表表示我们的结果,我们可能会说,有 0 个零,因为在索引 0 处我们有值 0,在索引 1 处我们有值 2,这意味着有 2 个一,在索引 2 处,我们的值为 1,这意味着有 1 个二,等等。

矩阵中的镜像元素

尽管拥有 2 个学士学位和硕士学位,当我发现一个新的数学技巧时,我仍然感到着迷,又名“天哪,这太简单了,而且有效”。

好吧,回到主题,假设你有一个 N*N 的矩阵,你需要反转行和列以获得所有元素的最大总和(逐行)。

矩阵4*41 2 3 90 9 8 25 1 7 48 2 6 7  

第一眼看到,或许你甚至不知道从哪里开始。但这是镜像元素的技巧。

矩阵4*4甲乙乙CDCCDC 甲乙乙

这里的关键点是,矩阵中的 A 可能只能被另一个 A 交换。假设我们位于左上角 A(即 1),我们想知道是否还有另一个更大的 A(仅镜像 A)。事实上,我们确实在右上角(9)有这样的东西。

按照逻辑并回忆一下原始问题(反转行和列的最大和),我们可能会得出结论,实际上我们不需要执行任何反转操作,而只需在镜像中查找最大值即可。就是这样。

堆。时间和空间复杂度之间的权衡。

假设您有一个任务来实现一个只有 3 个功能的堆栈包装器:(1)pop(2)push(3)get_min。您可以使用堆栈接口进行(1)弹出和(2)推送,但仍然需要实现(3)get_min。 Annnd get_min() 应该在 O(1) 时间内工作。

好吧,当我第一次解决这个问题时,我完全忘记了一个权衡,它说:“当你优化时间性能时,空间性能可能会变得更糟,反之亦然”。为什么它很重要,因为我开始考虑优化的 DS,它引导我使用 HashTables,但我真的很怀念朴素列表,它也适用于 O(1)(摊销)。

因此,当我创建一个哈希表时,我可以在其中存储包装类的每个状态……将在此停止,因为“更简单是更好的选择”(有时)。让我们看看使用附加列表来存储堆栈每个状态的最小值的实现。

类包装器:   def __init__(自身,堆栈):      self.stack = 堆栈      self.min = []   # 时间 O(1)   def pop(自身):      self.stack.pop()      self.min.pop()   # 时间 O(1)   def 推送(自身,值):      self.stack.push(值=值)      min_ = self.min[-1]      如果值 < min_:          最小值_ = 值      self.min.append(min_)   # 时间 O(1)   def get_min(自身):      返回 self.min[-1]

就这么简单。

结论

继续编码和开发记住权衡,不要过于复杂(当没有询问你时)

以上就是与你交谈系列#1的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1347961.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
python中list2什么意思
上一篇 2025年12月13日 11:38:05
征服你的第一个数据库:新手必备的 SQL 查询
下一篇 2025年12月13日 11:38:24

相关推荐

  • linux中的guest是什么

    linux中的guest是什么linux中的guest是什么linux中的guest是什么linux中的guest是什么

    在Linux中,”guest” 通常指的是虚拟化环境中运行的客户操作系统,虚拟化是一种将物理计算资源抽象为多个虚拟环境的技术,允许在同一物理主机上同时运行多个独立的操作系统实例,在虚拟化环境中,主机操作系统被称为”宿主”,而在宿主操作系统上运行的其他操…

    2026年10月3日 • 用户投稿
    000
  • 苹果用户如何快速安装DeepSeek实用攻略

    苹果用户如何快速安装DeepSeek实用攻略苹果用户如何快速安装DeepSeek实用攻略苹果用户如何快速安装DeepSeek实用攻略苹果用户如何快速安装DeepSeek实用攻略

    苹果用户可在iphone上通过两种方法快速安装deepseek。①使用safari浏览器访问网页版:打开safari搜索官网,点击“立即体验”进入界面,可选择添加到主屏幕以便快速启动;②在app store下载官方app:搜索“deepseek”,确认开发者后下载安装并登录账号使用。此外建议设置si…

    2026年10月3日 • 用户投稿
    600
  • 入门工艺品速刷全攻略:四大渠道助你工匠之路起飞

    入门工艺品速刷全攻略:四大渠道助你工匠之路起飞入门工艺品速刷全攻略:四大渠道助你工匠之路起飞入门工艺品速刷全攻略:四大渠道助你工匠之路起飞入门工艺品速刷全攻略:四大渠道助你工匠之路起飞

    新手期急需工艺品模型提升工匠熟练度?别慌!入门级工艺品的获取途径比你想象的更丰富,掌握这四大门路,轻松积累模型实现锻造自由! 一、工匠村副本:平民玩家的材料天堂! 暴率超感人:作为入门级资源,副本掉落出货率极高!亲测单次通关平均可得10个左右模型,效率碾压其他渠道。 无限刷资源:无需门票限制,只要你…

    2026年10月3日 • 用户投稿
    100
  • win10黑屏左上角光标闪烁进不了系统_win10黑屏光标闪烁问题的修复指南

    win10黑屏左上角光标闪烁进不了系统_win10黑屏光标闪烁问题的修复指南win10黑屏左上角光标闪烁进不了系统_win10黑屏光标闪烁问题的修复指南win10黑屏左上角光标闪烁进不了系统_win10黑屏光标闪烁问题的修复指南win10黑屏左上角光标闪烁进不了系统_win10黑屏光标闪烁问题的修复指南

    黑屏仅光标闪烁时,先调整BIOS启动顺序,再尝试安全模式排查冲突,修复引导记录,卸载最新更新,最后重置显卡驱动。 如果您在启动Windows 10时遇到屏幕全黑,仅左上角有一个光标持续闪烁,无法进入桌面或系统界面的情况,这通常表明系统启动过程中出现了障碍。以下是针对此问题的多种修复方法。 本文运行环…

    2026年10月3日 • 用户投稿
    700
  • 手机无法连接电脑的原因及解决方法(探寻手机与电脑连接问题的根源)

    手机无法连接电脑的原因及解决方法(探寻手机与电脑连接问题的根源)手机无法连接电脑的原因及解决方法(探寻手机与电脑连接问题的根源)手机无法连接电脑的原因及解决方法(探寻手机与电脑连接问题的根源)手机无法连接电脑的原因及解决方法(探寻手机与电脑连接问题的根源)

    在现代社会中,手机已经成为人们生活中不可或缺的一部分。然而,有时我们可能会遇到手机无法连接到电脑的问题,这使得我们无法进行数据传输和文件共享。本文将探讨手机无法连接电脑的一些常见原因,并提供解决方案。 1.USB连接问题-USB线松动或损坏:检查USB线是否牢固连接,如有损坏需要更换。 -USB驱动…

    2026年10月3日 • 用户投稿
    000
  • 小米手机官方泄露17 Pro Max新机图片!采用副屏设计

    小米手机官方泄露17 Pro Max新机图片!采用副屏设计小米手机官方泄露17 Pro Max新机图片!采用副屏设计小米手机官方泄露17 Pro Max新机图片!采用副屏设计小米手机官方泄露17 Pro Max新机图片!采用副屏设计

    9月15日,一位数码博主爆料称,小米手机官方微博账号曾短暂更换头像,虽很快恢复原状,但仍被眼尖的网友捕捉到异常。该博主晒出的截图显示,新头像的设计风格与传闻中的小米17 pro max高度吻合。 小米15 从曝光的头像细节来看,小米17 Pro Max或将彻底告别延续三代的左上角矩形摄像头模组设计,…

    2026年10月3日 • 用户投稿
    200
  • UC浏览器如何导入其他浏览器书签_UC浏览器书签数据导入步骤

    UC浏览器如何导入其他浏览器书签_UC浏览器书签数据导入步骤UC浏览器如何导入其他浏览器书签_UC浏览器书签数据导入步骤UC浏览器如何导入其他浏览器书签_UC浏览器书签数据导入步骤UC浏览器如何导入其他浏览器书签_UC浏览器书签数据导入步骤

    首先通过源浏览器导出书签为HTML文件,再将其传输至手机存储,接着在UC浏览器中选择导入该文件,最后检查书签是否完整迁移。 如果您希望将其他浏览器的书签迁移到UC浏览器中,以便在新设备或应用中继续使用常用网站链接,则可以通过导出和导入HTML文件的方式实现数据迁移。以下是具体操作步骤: 本文运行环境…

    2026年10月3日 • 用户投稿
    100
  • 在Spring Batch中实现跨多数据库的分布式事务

    在Spring Batch中实现跨多数据库的分布式事务在Spring Batch中实现跨多数据库的分布式事务在Spring Batch中实现跨多数据库的分布式事务在Spring Batch中实现跨多数据库的分布式事务

    本文旨在指导读者如何在Spring Batch应用中处理涉及多个数据库的分布式事务。当业务需求要求在一个批处理步骤(Step)中同时向不同数据库写入数据时,确保数据一致性至关重要。我们将探讨如何利用CompositeItemWriter聚合多个写入器,并通过配置JtaTransactionManag…

    2026年10月3日 • 用户投稿
    400
  • IE删除浏览记录方法

    IE删除浏览记录方法IE删除浏览记录方法IE删除浏览记录方法IE删除浏览记录方法

    打开IE浏览器。 点击浏览器右上角的三个点图标,进入历史记录页面。 选择“清除历史记录”选项。 话袋AI笔记 话袋AI笔记, 像聊天一样随时随地记录每一个想法,打造属于你的个人知识库,成为你的外挂大脑 47 查看详情 点击确认清除按钮。 系统正在处理清除操作,请耐心等待片刻。 清除完成,历史记录已清…

    2026年10月3日 • 用户投稿
    200
  • linux中的sid是什么意思

    linux中的sid是什么意思linux中的sid是什么意思linux中的sid是什么意思linux中的sid是什么意思

    在Linux中,”SID”通常指的是安全标识符,其作用和用途是:1、用于唯一标识和识别用户和组;2、确保在不同系统上,即使用户名或组名不同,利用SID进行标识仍然能够正确地设置和管理权限;3、能够确保用户和组在不同系统之间的一致性,方便用户在不同系统中进行登录、文件访问和权限…

    2026年10月3日 • 用户投稿
    000
  • iPhone 17全系安兔兔跑分成绩曝光:A19 Pro不如A19?

    iPhone 17全系安兔兔跑分成绩曝光:A19 Pro不如A19?iPhone 17全系安兔兔跑分成绩曝光:A19 Pro不如A19?iPhone 17全系安兔兔跑分成绩曝光:A19 Pro不如A19?iPhone 17全系安兔兔跑分成绩曝光:A19 Pro不如A19?

    9月15日,安兔兔公布了一张关于iphone 17系列新机型的性能测试截图。图中显示,搭载a19 pro芯片的iphone air综合跑分竟比配备a19芯片的iphone 17标准版低了超过15万 分。 iPhone Air 从曝光的跑分数据来看,iPhone 17 Pro Max以高达271775…

    2026年10月3日 • 用户投稿
    000
  • 如何让豆包AI处理Python中的日期时间

    如何让豆包AI处理Python中的日期时间如何让豆包AI处理Python中的日期时间如何让豆包AI处理Python中的日期时间如何让豆包AI处理Python中的日期时间

    要让豆包ai准确帮助处理python中的日期时间问题,需明确提问场景、指定使用的库、补充细节。1. 提问时具体说明操作,如解析、格式化或时区转换;2. 指定使用标准库如datetime或第三方库如dateutil;3. 当回答不准确时,补充如是否使用时区、时间格式等细节以引导修正。 ☞☞☞AI 智能…

    2026年10月3日 • 用户投稿
    600
  • 红果漫剧VIP会员如何开通_红果漫剧VIP会员开通步骤

    红果漫剧VIP会员如何开通_红果漫剧VIP会员开通步骤红果漫剧VIP会员如何开通_红果漫剧VIP会员开通步骤红果漫剧VIP会员如何开通_红果漫剧VIP会员开通步骤红果漫剧VIP会员如何开通_红果漫剧VIP会员开通步骤

    开通红果漫剧VIP会员可通过三种方式:一、App内购,登录后进入个人中心选择会员时长并支付;二、官网开通,登录官网选择套餐完成支付;三、兑换码激活,获取有效码后在兑换页面输入并确认,权益即时生效。 如果您在使用红果漫剧时希望解锁更多专属内容和特权,可能需要开通VIP会员服务。以下是开通红果漫剧VIP…

    2026年10月3日 • 用户投稿
    900
  • Sublime Text3如何配置自动联想python

    Sublime Text3如何配置自动联想pythonSublime Text3如何配置自动联想pythonSublime Text3如何配置自动联想pythonSublime Text3如何配置自动联想python

    下面由sublime教程栏目给大家介绍sublime text3配置自动联想python的方法,希望对需要的朋友有所帮助! 1.安装Package Control 通过快捷键 ctrl+` 或者 View > Show Console 打开控制台,然后粘贴相应的 Python 安装代码Subl…

    2026年10月3日 • 用户投稿
    000
  • 1-7月小米SU7城市销量TOP20出炉:北京未进前十

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 小米su7 %ign%ignore_a_1%re_a_1%1-7月小米SU7城市销量TOP20榜单正式发布。数据显示,杭州市以12451辆的销量遥遥领先,位居榜首。上海市以9085辆、深圳市以8…

    2026年10月3日
    1300
  • win11系统重置恢复出厂设置的方法_电脑恢复出厂设置操作指南

    win11系统重置恢复出厂设置的方法_电脑恢复出厂设置操作指南win11系统重置恢复出厂设置的方法_电脑恢复出厂设置操作指南win11系统重置恢复出厂设置的方法_电脑恢复出厂设置操作指南win11系统重置恢复出厂设置的方法_电脑恢复出厂设置操作指南

    重置Windows 11可恢复系统性能或清除数据,适用于运行缓慢、频繁出错或准备出售设备的场景。首先,通过“设置”应用中的“恢复”选项可重置电脑,选择“保留我的文件”或“删除所有内容”,并支持云下载最新系统镜像;其次,若系统无法启动,可在开机时按F11进入恢复环境,通过“疑难解答”执行重置;此外,高…

    2026年10月3日 • 用户投稿
    100
  • 响应式流中“finally”逻辑与错误处理的实践指南

    响应式流中“finally”逻辑与错误处理的实践指南响应式流中“finally”逻辑与错误处理的实践指南响应式流中“finally”逻辑与错误处理的实践指南响应式流中“finally”逻辑与错误处理的实践指南

    在Project Reactor响应式编程中,传统Java的try-catch-finally模式不再适用,尤其是涉及finally中阻塞操作时。本文将详细阐述如何在响应式流中优雅地处理错误信号,并实现类似finally的资源清理或状态保存逻辑,通过Mono.error、doOnError和onEr…

    2026年10月3日 • 用户投稿
    1000
  • 笔记本电脑音响修配指南(快速解决笔记本电脑音响问题的技巧和步骤)

    笔记本电脑音响修配指南(快速解决笔记本电脑音响问题的技巧和步骤)笔记本电脑音响修配指南(快速解决笔记本电脑音响问题的技巧和步骤)笔记本电脑音响修配指南(快速解决笔记本电脑音响问题的技巧和步骤)笔记本电脑音响修配指南(快速解决笔记本电脑音响问题的技巧和步骤)

    笔记本电脑音响是我们日常使用笔记本电脑时不可或缺的重要设备,但是由于各种原因,它们可能会出现一些问题,例如无声、杂音、低音质等。本文将为您提供一些解决笔记本电脑音响问题的技巧和步骤,帮助您快速修复这些问题。 1.检查音量设置合理调整音量是解决音响问题的首要步骤,打开电脑设置,确认音量调节在合适的范围…

    2026年10月3日 • 用户投稿
    100
  • 51漫画网最新入口-51漫画网免费链接推荐

    51漫画网最新入口-51漫画网免费链接推荐51漫画网最新入口-51漫画网免费链接推荐51漫画网最新入口-51漫画网免费链接推荐51漫画网最新入口-51漫画网免费链接推荐

    51漫画网最新入口是https://www.51manhua.com/,该平台资源丰富,涵盖多种类型漫画与小说,更新及时,支持多维度筛选;操作便捷,界面清晰,搜索智能,阅读可自定义;用户体验良好,加载快,可离线缓存并互动评论。 51漫画网最新入口在哪里?这是不少网友都关注的,接下来由PHP小编为大家…

    2026年10月3日 • 用户投稿
    1500
  • 开拓体力三大副本全解析:刷材料与升战力必备攻略

    开拓体力三大副本全解析:刷材料与升战力必备攻略开拓体力三大副本全解析:刷材料与升战力必备攻略开拓体力三大副本全解析:刷材料与升战力必备攻略开拓体力三大副本全解析:刷材料与升战力必备攻略

    想最大化利用开拓体力快速提升战力?当前开放的三大核心副本——凝滞虚影、拟造花萼和历战余响,正是你获取关键资源的核心战场!掌握它们的运作机制,能让你的养成效率事半功倍! 一、凝滞虚影 & 拟造花萼:每日必刷的资源引擎 这两大日常副本规则高度一致,是你稳定获取升级材料的“双子工厂”: 难度分级,…

    2026年10月3日 • 用户投稿
    100

发表回复

登录后才能评论
关注微信