当前位置: 首页 > article >正文

千问 LeetCode 1862题的Python代码怎么写?

这是 LeetCode 1862 题“向下取整数对和”的 Python 代码实现。这道题如果直接双重循环暴力求解会超时因此我们采用“前缀和 倍数枚举”的策略将时间复杂度优化到 O(M log M)其中 M 是数组中的最大值。 Python 代码实现class Solution:def sumOfFlooredPairs(self, nums: List[int]) - int:MOD 10**9 7# 1. 找到数组中的最大值确定计数数组的大小max_val max(nums)# 2. 统计每个数字出现的频率# count[i] 表示数字 i 在 nums 中出现的次数count [0] * (max_val 1)for num in nums:count[num] 1# 3. 计算前缀和# prefix_sum[i] 表示数值在 [0, i] 范围内的元素总个数# 这样可以在 O(1) 时间内查询任意区间 [L, R] 内的元素个数prefix_sum [0] * (max_val 1)prefix_sum[0] count[0]for i in range(1, max_val 1):prefix_sum[i] prefix_sum[i - 1] count[i]ans 0# 4. 遍历每一个可能的数字作为分母for denominator in range(1, max_val 1):# 如果该数字不存在于数组中跳过if count[denominator] 0:continue# 5. 枚举商倍数# 我们固定分母为 denominator枚举商 k# 此时分子 numerator 的范围是 [k * denominator, (k 1) * denominator - 1]# 只要 k * denominator 0 else 0)if count_in_range 0:# 贡献值 (该范围内元素个数) * (商 k) * (分母出现的次数)# 分母出现次数是因为数组中可能有多个相同的分母contribution count_in_range * k * count[denominator]ans (ans contribution) % MODk 1return ans 算法核心逻辑解析1. 为什么使用前缀和题目要求计算 sum lfloor frac{nums[i]}{nums[j]} rfloor。如果我们固定分母 nums[j] x那么对于不同的分子 nums[i]lfloor frac{nums[i]}{x} rfloor 的结果是分段的。例如 x2* 分子在 [0, 1]结果为 0* 分子在 [2, 3]结果为 1* 分子在 [4, 5]结果为 2* ...* 分子在 [2k, 2k1]结果为 k前缀和数组 prefix_sum 让我们能瞬间算出数组中有多少个元素落在 [2k, 2k1] 这个区间内而不需要遍历整个数组。2. 复杂度分析* 时间复杂度O(M log M)其中 M 是数组中的最大值。* 外层循环遍历分母最多 M 次。* 内层循环枚举倍数商对于分母 x循环次数约为 M/x。* 总次数约为 M/1 M/2 M/3 ... M/M M times (1 1/2 ... 1/M) approx M ln M。* 空间复杂度O(M)用于存储频率数组和前缀和数组。3. 举例说明假设 nums [2, 5, 9]* 频率count[2]1, count[5]1, count[9]1。* 当分母为 2 时 (count[2]1)* 商为 1分子范围 [2, 3]。数组中有 1 个 (即2)。贡献 1 times 1 times 1 1。* 商为 2分子范围 [4, 5]。数组中有 1 个 (即5)。贡献 1 times 2 times 1 2。* 商为 4分子范围 [8, 9]。数组中有 1 个 (即9)。贡献 1 times 4 times 1 4。* 分母为 2 的总贡献1247。* 当分母为 5 时* 商为 1分子范围 [5, 9]。有 2 个 (5, 9)。贡献 2 times 1 times 1 2。* 当分母为 9 时* 商为 1分子范围 [9, 17]。有 1 个 (9)。贡献 1 times 1 times 1 1。* 总和7 2 1 10。这个逻辑与题目示例完全吻合。

相关文章:

千问 LeetCode 1862题的Python代码怎么写?

这是 LeetCode 1862 题“向下取整数对和”的 Python 代码实现。这道题如果直接双重循环暴力求解会超时,因此我们采用“前缀和 倍数枚举”的策略,将时间复杂度优化到 O(M log M),其中 M 是数组中的最大值。🐍 Python 代码实现clas…...

Qianfan-OCR效果展示:手写体+印刷体混合文档的端到端结构化输出

Qianfan-OCR效果展示:手写体印刷体混合文档的端到端结构化输出 1. 工具概览 Qianfan-OCR是基于百度千帆InternVL架构开发的单卡GPU专属文档解析工具。它解决了传统OCR在处理复杂文档时的三大痛点: 混合内容识别难:传统工具无法同时处理印刷…...

如何永久保存微信聊天记录:开源工具WeChatMsg完整指南

如何永久保存微信聊天记录:开源工具WeChatMsg完整指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCha…...

志特新材2025年归母净利润同比增长122%,2026年首季再迎“开门红”

4月24日晚间,志特新材(300986.SZ)同步披露《2025年年度报告》及《2026年第一季度报告》。公告显示,公司在2025年实现营收与盈利能力的显著提升,进入2026年一季度,经营现金流的稳健表现与归母净利润的实质增…...

如何用罗技鼠标宏实现PUBG零后坐力射击?终极配置指南

如何用罗技鼠标宏实现PUBG零后坐力射击?终极配置指南 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为《绝地求生》中难以控制的…...

煌上煌2025年净利润大增102.32% 2026年一季度开局稳健

4月24日晚间,江西煌上煌集团食品股份有限公司(002695.SZ)同步披露《2025年年度报告》及《2026年第一季度报告》。公告显示,2025年公司实现营业收入16.84亿元,归属于上市公司股东的净利润8,159.67万元,同比实…...

Qwen3-ForcedAligner-0.6B多场景应用:在线教育录播课自动生成知识点时间戳

Qwen3-ForcedAligner-0.6B多场景应用:在线教育录播课自动生成知识点时间戳 你有没有遇到过这种情况?给学生上完一节录播课,想整理出这节课的知识点时间轴,方便学生快速定位重点内容。结果发现,要手动听完一小时的课程…...

2024 AI普惠化趋势:Qwen轻量模型中小企业落地实战分析

2024 AI普惠化趋势:Qwen轻量模型中小企业落地实战分析 1. 项目背景与核心价值 2024年,AI技术正从"高大上"走向"平民化",越来越多的中小企业开始寻求低成本、高效率的AI解决方案。阿里通义千问开源的Qwen1.5-0.5B-Chat模…...

AI网关架构设计:统一管理多LLM提供商的工程实践

引言 当一个企业同时使用OpenAI、Anthropic、Azure OpenAI、本地部署的LLaMA……如何统一管理这些提供商?如何实现智能路由、故障转移、成本控制和访问审计?AI网关(AI Gateway) 正是为这一需求而生的基础设施组件。它在业务应用和…...

Go应用性能监控:从gorelic指标解析到New Relic迁移实践

1. 项目概述与背景如果你在维护一个用Go语言写的线上服务,特别是那种用户量不小、业务逻辑复杂的后端应用,那么“服务为什么突然变慢了?”、“内存是不是在悄悄泄漏?”、“GC(垃圾回收)是不是太频繁了&…...

R语言向量操作全解析:从基础到实战应用

1. 向量:R语言的数据基石 第一次打开RStudio时,你可能被各种数据类型搞得晕头转向。但相信我,只要掌握了向量这个核心概念,就等于拿到了打开R语言大门的钥匙。作为R中最基础也最重要的数据结构,向量就像乐高积木的单个…...

神经机器翻译:从规则到深度学习的演进与实践

1. 神经机器翻译入门:从规则到深度学习翻译这件事,人类做了几千年,但教会计算机做翻译,却是20世纪最雄心勃勃的AI挑战之一。记得2016年我在处理多语言客服系统时,传统规则引擎对"hot dog"的翻译不是"热…...

AI智能体框架yu-ai-agent:快速构建与部署开发者指南

1. 项目概述:一个面向开发者的AI智能体框架最近在GitHub上闲逛,发现了一个挺有意思的项目,叫yu-ai-agent。这个项目来自开发者liyupi,也就是大家熟知的“程序员鱼皮”。看到这个名字,我的第一反应是:这应该…...

从单体智能到群体协作:AgentMesh架构思想与实战指南

1. 项目概述:从单体智能到群体协作的范式跃迁在人工智能领域,尤其是大语言模型驱动的智能体(Agent)技术,我们正处在一个激动人心的拐点。过去一年,我们见证了无数个功能强大的“单体智能体”诞生&#xff0…...

Jenkins EC2插件实战:构建弹性可扩展的云原生CI/CD流水线

1. 项目概述与核心价值如果你正在管理一个基于 Jenkins 的持续集成/持续交付(CI/CD)流水线,并且经历过构建队列因资源不足而堆积如山,或者为应对突发流量而临时手动扩容物理服务器的痛苦,那么jenkinsci/ec2-plugin这个…...

nli-MiniLM2-L6-H768赋能微信小程序:实现轻量级逻辑推理助手

nli-MiniLM2-L6-H768赋能微信小程序:实现轻量级逻辑推理助手 1. 场景需求与解决方案 在移动应用生态中,微信小程序因其轻量化和易传播特性,成为各类服务的重要入口。特别是在法律咨询和教育答题领域,用户经常需要快速判断某个陈…...

Qwen3.5-9B-GGUF效果实测:混合注意力架构下代码生成准确率提升案例

Qwen3.5-9B-GGUF效果实测:混合注意力架构下代码生成准确率提升案例 1. 模型概述与技术亮点 Qwen3.5-9B-GGUF是基于阿里云开源的Qwen3.5-9B模型经过GGUF格式量化后的版本。这个90亿参数的稠密模型采用了创新的Gated Delta Networks架构,结合了75%线性注…...

Phi-3.5-mini-instruct多场景:短视频脚本生成+分镜描述+多语言字幕同步

Phi-3.5-mini-instruct多场景:短视频脚本生成分镜描述多语言字幕同步 1. 模型概述与快速上手 Phi-3.5-mini-instruct是微软推出的轻量级指令微调大语言模型,采用Transformer解码器架构,支持128K超长上下文窗口。这款3.8B参数的模型在多语言…...

【从零开始的 Claude Code 零代码生活 | 第一篇】Claude Code 保姆级安装,适用于 Windows 10/11

文章目录前言一、Claude Code 是什么?二、安装 Git for Windows三、安装 Claude Code四、备选安装方式:npm 安装五、登录与认证配置六、第一次运行 Claude Code七、在项目目录中使用才是正确姿势八、常用命令速查九、常见问题小结前言 本文是系列文章【从…...

【后端开发】@Transactional 不是不能用,而是很多人根本用不明白

文章目录前言1 先搞清楚:Spring 事务到底在帮我们做什么2. 用一个订单流程,看懂 Transactional 为什么会失效2.1 方法自调用:你以为调用了事务方法,其实绕过了代理2.2 异常被吞掉:你以为失败了,Spring 以为…...

Qwen3-VL-8B隐私安全:纯本地推理,你的图片数据不出门

Qwen3-VL-8B隐私安全:纯本地推理,你的图片数据不出门 1. 为什么隐私安全如此重要? 在当今数字化时代,数据隐私已成为企业和个人最关心的问题之一。想象一下,当你使用一个在线图像识别服务时,你的私人照片…...

VSCode 2026插件性能实测:12款主流大模型生成工具响应延迟、上下文精度与安全水位全对比

更多请点击: https://intelliparadigm.com 第一章:VSCode 2026大模型代码生成插件生态全景概览 随着大语言模型在开发工作流中的深度集成,VSCode 2026 版本已原生支持多模态上下文感知、跨文件语义补全与可验证代码生成能力。其插件生态不再…...

Gemma-4-26B-A4B-it-GGUF 部署效果对比:Windows与Linux环境性能评测

Gemma-4-26B-A4B-it-GGUF 部署效果对比:Windows与Linux环境性能评测 1. 评测背景与目标 Gemma-4-26B-A4B-it-GGUF作为当前热门的开源大模型,其部署性能直接影响开发者的使用体验。本次评测聚焦一个核心问题:同一模型在不同操作系统下的表现…...

C++26合约机制深度解析(LLVM IR层行为实测+编译器差异对比报告)

更多请点击: https://intelliparadigm.com 第一章:C26合约机制概述与标准化演进 C26 正式将合约(Contracts)纳入核心语言特性,标志着历经十余年争议与迭代的标准化努力终获突破。合约机制并非运行时断言,而…...

小白友好!Ollama部署DeepSeek-R1全记录:图文并茂手把手教学

小白友好!Ollama部署DeepSeek-R1全记录:图文并茂手把手教学 1. 前言:为什么选择Ollama部署DeepSeek-R1? 还在为复杂的模型部署流程头疼吗?Ollama提供了一种极其简单的方式来运行大型语言模型。DeepSeek-R1-Distill-Q…...

real-anime-z应用场景:动漫展会数字签到墙、AR合影滤镜、互动投影素材生成

real-anime-z 动漫风格文生图使用手册 1. 平台介绍 real-anime-z 是一个面向二次元插画创作的文生图镜像,特别适合生成动漫角色、头像、海报、封面草图和宣传插画。这个工具在动漫展会数字签到墙、AR合影滤镜、互动投影素材生成等场景中表现出色。 当前镜像采用的…...

VibeVoice-TTS作品展示:超长语音合成效果实测与体验

VibeVoice-TTS作品展示:超长语音合成效果实测与体验 1. 惊艳的开场:打破传统TTS的边界 想象一下,你正在制作一档时长90分钟的播客节目,需要四位不同声音的主持人进行自然对话。传统TTS系统要么无法支持这么长的连续语音&#xf…...

AgentScope Runtime Java:智能体应用的安全部署与运行时管理实践

1. 项目概述:AgentScope Runtime Java 是什么?如果你正在用 Java 搞智能体(Agent)开发,尤其是想把你的智能体应用部署上线,那你大概率会遇到几个绕不开的“坑”:工具调用怎么保证安全&#xff1…...

【线性代数笔记】伴随矩阵 A* 的性质汇总与还原原矩阵 A 的核心技巧

1. 伴随矩阵 A∗A^*A∗ 的基本性质汇总 在处理线性代数综合题时,熟练记忆伴随矩阵的性质可以极大地简化运算。以下是笔记中整理的核心公式:运算类型恒等式备注逆矩阵(A∗)−1(A−1)∗(A^*)^{-1} (A^{-1})^*(A∗)−1(A−1)∗伴随的逆等于逆的伴随转置(A∗…...

SQL查询优化:NOT EXISTS与LEFT JOIN性能对比

NOT EXISTS和LEFT JOIN...IS NULL在逻辑上等价但性能差异显著。NOT EXISTS采用半连接(Semi Join)机制,找到第一个匹配即停止扫描,内存占用低;LEFT JOIN则需完成全连接后再过滤,内存消耗高。在users表100万行、orders表1亿行的场景…...