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

Leetcode 3428. Maximum and Minimum Sums of at Most Size K Subsequences

  • Leetcode 3428. Maximum and Minimum Sums of at Most Size K Subsequences
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3428. Maximum and Minimum Sums of at Most Size K Subsequences

1. 解题思路

这一题不需要连续性,因此我们就是考虑取得子串长度为别为1到k的情况下时,每一个元素作为最小的元素以及最大的元素时可以选取的方法总数。而这就是一个简单的排列组合的问题,假设一个元素有n和元素比他大,m个元素比他小,则在长度为k的子串当中其可以作为最大或者最小元素的选择方法总数就是: C n k − 1 + C m k − 1 C_n^{k-1} + C_m^{k-1} Cnk1+Cmk1

我们将其翻译为python代码语言即可。

2. 代码实现

给出python代码实现如下:

MOD = 10**9+7Factorials = [1 for _ in range(10**5+1)]
Revs = [1 for _ in range(10**5+1)]
for i in range(2, 10**5+1):Factorials[i] = (i * Factorials[i-1]) % MODRevs[i] = pow(Factorials[i], -1, mod=MOD)def C(n, m):return (Factorials[n] * Revs[n-m] * Revs[m]) % MOD if n >= m else 0class Solution:def minMaxSums(self, nums: List[int], k: int) -> int:nums = sorted(nums)n = len(nums)ans = 0for i, x in enumerate(nums):for m in range(1, k+1):ans = (ans + x * (C(i, m-1) + C(n-1-i, m-1))) % MODreturn ans

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

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

相关文章:

  • 第2章:Python TDD构建Dollar类基础
  • 【算法学习笔记】34:扩展欧几里得算法
  • 云原生周刊:K8s 生产环境架构设计及成本分析
  • WGAN - 瓦萨斯坦生成对抗网络
  • 海量数据的处理
  • 区块链的数学基础:核心原理与应用解析
  • 1.5 GPT 模型家族全解析:从 GPT-1 到 GPT-4 的演进与创新
  • 自动驾驶之DriveMM: All-in-One Large Multimodal Model for Autonomous Driving
  • Spring Boot 配置(官网文档解读)
  • SparkSQL数据源与数据存储
  • 【BQ3568HM开发板】开箱测试
  • 3D 模型格式转换之 STP 转 STL 深度解析
  • MySQL数据库的数据文件保存在哪?MySQL数据存在哪里
  • 低代码系统-UI设计器核心介绍
  • ubuntu20.04有亮度调节条但是调节时亮度不变
  • USART_串口通讯轮询案例(HAL库实现)
  • 【前端】CSS学习笔记(2)
  • 【esp32小程序】小程序篇02——连接git
  • echarts柱状图象形图,支持横向滑动
  • YOLO系列代码
  • HTML根元素<html>的语言属性lang:<html lang=“en“>
  • opencv在图片上添加中文汉字(c++以及python)
  • Perplexity AI 周六向 TikTok 母公司字节跳动递交了一项提案
  • Java连接TDengine和MySQL双数据源
  • Web3 游戏周报(1.13 - 1.19)
  • [深度学习]机器学习和深度学习
  • 区块链技术
  • vim函数定义跳转相关设置
  • 如何使用Python爬虫获取微店商品详情:代码示例与实践指南
  • Autosar CP RTE规范解读之不同 BSW 接口的通知与软件组件激活机制:标准化接口与 AUTOSAR 接口的实现方式