LeetCode 2644.找出可整除性得分最大的整数:暴力模拟(两层循环)
【LetMeFly】2644.找出可整除性得分最大的整数:暴力模拟(两层循环)
力扣题目链接:https://leetcode.cn/problems/find-the-maximum-divisibility-score/
给你两个下标从 0 开始的整数数组 nums 和 divisors 。
divisors[i] 的 可整除性得分 等于满足 nums[j] 能被 divisors[i] 整除的下标 j 的数量。
返回 可整除性得分 最大的整数 divisors[i] 。如果有多个整数具有最大得分,则返回数值最小的一个。
示例 1:
输入:nums = [4,7,9,3,9], divisors = [5,2,3] 输出:3 解释:divisors 中每个元素的可整除性得分为: divisors[0] 的可整除性得分为 0 ,因为 nums 中没有任何数字能被 5 整除。 divisors[1] 的可整除性得分为 1 ,因为 nums[0] 能被 2 整除。 divisors[2] 的可整除性得分为 3 ,因为 nums[2]、nums[3] 和 nums[4] 都能被 3 整除。 因此,返回 divisors[2] ,它的可整除性得分最大。
示例 2:
输入:nums = [20,14,21,10], divisors = [5,7,5] 输出:5 解释:divisors 中每个元素的可整除性得分为: divisors[0] 的可整除性得分为 2 ,因为 nums[0] 和 nums[3] 都能被 5 整除。 divisors[1] 的可整除性得分为 2 ,因为 nums[1] 和 nums[2] 都能被 7 整除。 divisors[2] 的可整除性得分为 2 ,因为 nums[0] 和 nums[3] 都能被5整除。 由于 divisors[0]、divisors[1] 和 divisors[2] 的可整除性得分都是最大的,因此,我们返回数值最小的一个,即 divisors[2] 。
示例 3:
输入:nums = [12], divisors = [10,16] 输出:10 解释:divisors 中每个元素的可整除性得分为: divisors[0] 的可整除性得分为 0 ,因为 nums 中没有任何数字能被 10 整除。 divisors[1] 的可整除性得分为 0 ,因为 nums 中没有任何数字能被 16 整除。 由于 divisors[0] 和 divisors[1] 的可整除性得分都是最大的,因此,我们返回数值最小的一个,即 divisors[0] 。
提示:
1 <= nums.length, divisors.length <= 10001 <= nums[i], divisors[i] <= 109
解题方法:两层循环枚举
外层循环遍历每一个“被除数”,对于某个被除数 d d d,记录其“可整除性得分”。
- 如果这个得分大于历史最大得分,更新最大得分并将其暂时视为答案;
- 如果这个得分等于历史最大得分,将它和“临时答案”中最小的那个暂时视为答案。
最终的“临时答案”即为最终答案。
- 时间复杂度 O ( l e n ( n u m s ) × l e n ( d i v i s o r s ) ) O(len(nums)\times len(divisors)) O(len(nums)×len(divisors))
- 空间复杂度 O ( N log N ) O(N\log N) O(NlogN)
本题似乎没有更小的时空复杂度的算法,能做的似乎最多是一些剪枝。
AC代码
C++
class Solution {
public:int maxDivScore(vector<int>& nums, vector<int>& divisors) {int M = -1, ans = 0;for (int d : divisors) {int thisCnt = 0;for (int n : nums) {if (n % d == 0) {thisCnt++;}}if (thisCnt > M) {M = thisCnt;ans = d;}else if (thisCnt == M) {M = thisCnt;ans = min(ans, d);}}return ans;}
};
Python
from typing import Listclass Solution:def maxDivScore(self, nums: List[int], divisors: List[int]) -> int:M, ans = -1, 0for d in divisors:thisCnt = 0for n in nums:thisCnt += n % d == 0if thisCnt > M:M = thisCntans = delif thisCnt == M:ans = min(ans, d)return ans
同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/139026732
相关文章:
LeetCode 2644.找出可整除性得分最大的整数:暴力模拟(两层循环)
【LetMeFly】2644.找出可整除性得分最大的整数:暴力模拟(两层循环) 力扣题目链接:https://leetcode.cn/problems/find-the-maximum-divisibility-score/ 给你两个下标从 0 开始的整数数组 nums 和 divisors 。 divisors[i] 的 …...
Python列表,元组,集合,字典详解一篇搞懂
目录 介绍 列表(List) 集合(Set) 字典(Dict) 元组(Tuple) 列表 列表定义 编辑 列表切片 列表常用方法 append extend 编辑 insert 编辑 remove pop 编辑 clear 编辑 列表修改元素 sort 升序 倒序 reverse count 编辑 index 浅拷贝和深拷贝 …...
Postgresql源码(132)分布式行锁的原理分析
相关 《Postgresql源码(131)行锁的原理分析》 1 分布式行锁 PG中的行锁在上一片中做了分析《Postgresql源码(131)行锁的原理分析》,本篇对分布式PG(PGXL)中的行锁做一些分析。(版本…...
前端 防抖和节流
在前端开发中,防抖(Debounce)和节流(Throttle)是两种常用的性能优化技术,尤其在处理频繁触发的事件时显得尤为重要。无论是在用户输入、窗口调整大小,还是滚动事件中,这两种技术都可…...
C语言 | Leetcode C语言题解之第109题有序链表转换二叉搜索树
题目: 题解: int getLength(struct ListNode* head) {int ret 0;while (head ! NULL) {ret, head head->next;}return ret; }struct TreeNode* buildTree(struct ListNode** head, int left, int right) {if (left > right) {return NULL;}int …...
【DevOps】Linux 下安装配置 Apache 服务器:打造你的专属 Web 平台
目录 一、准备工作 二、安装 Apache 三、启动和管理 Apache 四、验证安装 五、配置 Apache 5.1 修改网站根目录 5.2 配置虚拟主机 5.2.1 创建虚拟主机配置文件 5.2.2 创建网站目录 5.2.3 启用虚拟主机 5.2.4 重启 Apache 5.3 配置 HTTPS 5.3.1 安装 SSL 证书 5.3…...
23种设计模式之一————外观模式详细介绍与讲解
外观模式详细讲解 一、概念二、 外观模式结构核心思想及解释模式的UML类图模式角色应用场景模式优点模式缺点 三、实例演示图示代码展示运行结果 一、概念 外观模式(Facade Pattern)是一种结构型设计模式,它提供了一个统一的接口,…...
202109青少年软件编程(Python)等级考试试卷(四级)
第 1 题 【单选题】 执行如下 Python 代码后, 结果是?( ) def inverse(s,n=0): while s:n = n * 10 + s % 10s = s // 10return nprint...
正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-17讲 定时器按键消抖
前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…...
【系统架构师】-论文考点整理
1、软件架构风格 1.1、概述 1、软件架构为软件系统提供了一个结构、行为和属性的高级抽象。 2、软件架构风格是特定应用领域的惯用模式,架构定义一个词汇表和一组约束。 1.2、作用 1、软件架构是项目干系人进行交流的手段。 2、软件架构是可传递和可复用的模型&…...
Android Activity 设计详解
文章目录 Android Activity 设计说明1. Activity 的生命周期2. Activity 的启动模式3. Activity 的通信4. Activity 的布局和视图管理5. Activity 的配置变化处理6. Activity 的保存和恢复状态7. Activity 的任务和返回栈 总结 Android Activity 设计说明 在 Android 中&#…...
国家开放大学,javaScript程序设计-形考任务-实训五:设计登录和注册页|实训六:设计简单的购物车
实训五:设计登录和注册页 1. 题目 设计登录和注册页。 2. 目的 (1)掌握表单域的引用方法。 (2)掌握常用控件的基本方法。 (3)掌握事件的处理方法。 (4)理解Cookie…...
微服务可用性之隔离
摘要 本文主要微服务场景下服务的可用性保障之隔离。隔离又分为几种情况,动静隔离、读写隔离、热点隔离、资源隔离等场景。 为什么要隔离 本质上是对资源进行分割确保在出现故障的时候服务只是部分不可用,不至于系统陷入整体性瘫痪,…...
设计模式——概述
1.设计模式定义 设计模式是软件设计中常见问题的典型解决方案,可用于解决代码中反复出现的设计问题。设计模式的出现可以让我们站在前人的肩膀上,通过一些成熟的设计方案来指导新项目的开发和设计,以便于我们开发出具有更好的灵活性和可扩展性&#…...
#P0564. 数组元素查找升级版
问题描述 给你 n 个数,再给你一个数 k,查找 k 在这 n 个数中第一次出现的位置(从 0 开始计数),不存在输出 No。 输入 多组测试数据,对于每组测试数据: 第一行输入一个整数 n (1 ≤ n ≤ 100…...
如何修改WordPress网站的域名
我的网站用的是Hostease的虚拟主机,但是域名是之前在其他平台买的,而且已经快到期了,因为主机和域名在不同的平台上,管理不太方便,所以我又在Hostease重新注册了一个域名,然后把网站换成了新的域名…...
python爬虫[简易版]
python爬数据[简易版] 对于每个网站的爬的原理基本是一样的,但是具体的代码写法的区别就在于爬的数据中解析出想要的数据格式: 以爬取有道词典中的图片为例: 第一步:打开网站,分析图片的数据源来自哪里, https://dict-subsidiary.youdao.com/home/content?invalid&pre…...
128天的创意之旅:从初心到成就,我的博客创作纪念日回顾
文章目录 🚀机缘:初心的种子——回望创作之旅的启航🌈收获:成长的果实——128天创作之旅的宝贵馈赠❤️日常:创作与生活的交织👊成就:代码的艺术🚲憧憬:未来的蓝图 &…...
前端绘制流程节点数据
根据数据结构和节点的层级、子节点id,前端自己绘制节点位置和关联关系、指向、已完成节点等 <template><div><div>通过后端节点和层级,绘制出节点以及关联关系等</div><div class"container" ref"container&…...
2024年顶级算法-黑翅鸢优化算法(BKA)-详细原理(附matlab代码)
黑翅鸢是一种上半身蓝灰色,下半身白色的小型鸟类。它们的显著特征包括迁徙和捕食行为。它们以小型哺乳动物、爬行动物、鸟类和昆虫为食,具有很强的悬停能力,能够取得非凡的狩猎成功。受其狩猎技能和迁徙习惯的启发,该算法作者建立…...
OpenClaw技能扩展:千问3.5-35B-A3B-FP8驱动的内容生成与发布
OpenClaw技能扩展:千问3.5-35B-A3B-FP8驱动的内容生成与发布 1. 为什么选择OpenClaw千问3.5做内容自动化 去年冬天,当我第一次尝试用AI自动化完成公众号内容生产时,经历了典型的"缝合怪"工作流:ChatGPT生成初稿→Midj…...
Mac环境OpenClaw深度优化:Qwen3-4B模型推理速度提升30%方案
Mac环境OpenClaw深度优化:Qwen3-4B模型推理速度提升30%方案 1. 为什么需要优化OpenClaw的模型推理速度 上周我在用OpenClaw处理一个简单的文件整理任务时,发现整个流程耗时比预期长了近一倍。通过日志排查才发现,大部分时间都消耗在等待Qwe…...
人工智能与光学系统的深度融合:大模型在光学设计与成像中的应用~!
Nature重磅!超表面硬件融合物理AI!开创定量相位成像新范式!https://mp.weixin.qq.com/s/M5151pe1Kns5s89Hy9eEAA点击此链接查看详情! 专题三:大模型光学设计专题 学习目标: 本课程旨在系统性培养学生利用…...
【TCC从理论到亿级支付系统落地】:7个真实生产环境故障复盘+可直接套用的补偿模板
第一章:TCC分布式事务的核心原理与适用边界TCC(Try-Confirm-Cancel)是一种基于业务层面的柔性事务模型,其核心在于将一个分布式事务拆解为三个明确阶段:资源预留(Try)、最终确认(Con…...
《B3845 [GESP样题 二级] 勾股数》
题目背景 对应的选择、判断题:https://ti.luogu.com.cn/problemset/1102 题目描述 勾股数是很有趣的数学概念。如果三个正整数 a,b,c,满足 a2b2c2,而且 1≤a≤b≤c,我们就将 a,b,c 组成的三元组 (a,b,c) 称为勾股数。你能通过编…...
2026年4月OpenClaw如何安装?腾讯云2分钟零基础教程及百炼APIKey配置方法
2026年4月OpenClaw如何安装?腾讯云2分钟零基础教程及百炼APIKey配置方法。OpenClaw(原Clawdbot)作为2026年主流的AI自动化助理平台,可通过阿里云轻量服务器实现724小时稳定运行,并快速接入钉钉,让AI在企业群…...
第二桌面 + 小龙虾:让企业AI智能体安全落地、全员可用
本文发布于2026年4月1日。引言:从“养虾”到“用虾”,AI落地需要新底座过去几个月,OpenClaw(昵称“小龙虾”)在开发者圈子里火得一塌糊涂。这个开源AI智能体网关,能听懂人话,还能替你操作电脑、…...
别再只用SUM了!用Excel分析Kaggle数据集,我发现了这些销售秘密
别再只用SUM了!用Excel分析Kaggle数据集,我发现了这些销售秘密 作为一名常年与Excel打交道的业务分析师,我习惯了用SUM和VLOOKUP解决80%的问题。直到上个月,当我偶然下载了Kaggle上的牛油果销售数据集,才发现这个"…...
SGLang-v0.5.6优化升级:多GPU协同,推理性能大幅提升
SGLang-v0.5.6优化升级:多GPU协同,推理性能大幅提升 1. 引言 在当今大模型应用日益普及的背景下,推理性能优化成为开发者面临的核心挑战之一。SGLang-v0.5.6作为结构化生成语言框架的最新版本,带来了多项关键性改进,…...
01_第一篇:到底什么是嵌入式芯片?与通用CPU_GPU_DSP的核心区别
嵌入式芯片入门:到底什么是嵌入式芯片?与通用CPU/GPU/DSP的核心区别 引言:智能时代的核心基石,嵌入式芯片的无处不在 在万物互联的智能时代,我们的生活早已被无数“隐形大脑”环绕:清晨唤醒你的智能手环、出…...
