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

Leetcode 2862. Maximum Element-Sum of a Complete Subset of Indices

  • Leetcode 2862. Maximum Element-Sum of a Complete Subset of Indices
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:2862. Maximum Element-Sum of a Complete Subset of Indices

1. 解题思路

这一题的核心在于想明白一点:

  • 要使得子序列当中任意两个数之积均为平方数,那么子序列当中的所有数必然都是一系列平方数的某一个公倍数。

因此,我们只需要不超过数组长度 n n n的所有平方数,然后分别将其扩展倍数即可。

而对于扩展倍数之后依然有效的平方数,我们同样可以通过二分法进行优化寻找。

2. 代码实现

给出python代码实现如下:

class Solution:    def maximumSum(self, nums: List[int]) -> int:n = len(nums)completes = [i*i for i in range(1, int(sqrt(n) + 2)) if i * i <= n]res = max(max(nums), sum([nums[i-1] for i in completes]))for p in range(1, n+1):if p > n:breakif completes[-1] * p > n:i, j = 0, len(completes)-1while j-i>1:m = (i+j)//2if completes[m] * p > n:j = melse:i = melse:j = len(completes)if j == 1:breaks = sum([nums[p*i-1] for i in completes[:j]])res = max(res, s)return res

提交代码评测得到:耗时290ms,占用内存18.1MB。

http://www.lryc.cn/news/169676.html

相关文章:

  • 第一百四十七回 自定义组件一
  • MySQL 重复数据的处理
  • Java文字描边效果实现
  • 【Web_环境搭建_Python3_pip】pip的升级、安装、更新、卸载,以及pipupgrade和pip-review的基础使用
  • 农民朋友有福利啦!建行江门市分行“裕农通+农资结算”平台正式上线
  • super详解
  • GMS地下水数值模拟丨GMS各模块、三维地质模型构建及与MODFLOW耦合、地下水流动数值模拟及报告编制、地下水溶质运移模型、反应性溶质运移等
  • Redis 配置文件详解 - 持久化(RDB、AOF)
  • 在线Excel转JSON工具
  • Spring编程常见错误50例-Spring Bean依赖注入常见错误(下)
  • SpringBoot整合Canal实现MySQL与ES数据同步
  • Zookeeper 源码分析流程
  • 计数排序与基数排序
  • Mysql—表操作
  • SpringCloud——微服务
  • 深入理解Java单例模式和优化多线程任务处理
  • 已解决 Kotlin Error: Type mismatch: inferred type is String but Int was expected
  • Web应用系统的小安全漏洞及相应的攻击方式
  • git工具下载和安装
  • 腾讯mini项目-【指标监控服务重构】2023-08-04
  • 怎么推广自己抖店的商品?最适合0经验新手操作的办法,来看看
  • 线性代数的本质(三)——线性方程组
  • 轻量级性能测试工具 wrk 如何使用?
  • WebGL 视图矩阵、模型视图矩阵
  • Python 3 – 文件 readline() 方法
  • 如何在微软Edge浏览器上一键观看高清视频?
  • Telegram BoT的主流项目盘点
  • PTA 甲级 1044 Shopping in Mars
  • Linux学习之MyCat实现分库分表
  • DirectX12(d3d12)初始化