每日算法 - 组合(数学公式 -------- c(n,k))

蓝桥杯Java备赛核心指南:环境配置、IO优化与算法思维 Java算法竞赛并非单纯考察代码能力,而是综合检验开发环境适配性、标准输入输出性能及底层计算思维。理解JDK版本兼容性(如JDK 17的--release编译参数)、规避Scanner阻塞风险、掌握BufferedReader高效读取原理,是通过评测机的第一道门槛;在此基础上,动态规划、双指针、二分贪心等算法需结合数据规模进行复杂度降维。本文聚焦蓝桥杯Java组真实评测场景,深入解析java环境变量配置、java: 错误: 不支持发行版本 5等高频报错根因,并提供可复用的工业级IO模板与状态压缩解法,助力选 阅读详情

目录

题目

思路

代码

总结


题目

给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。

示例:

输入: n = 4, k = 2
输出:
[
  [2,4],
  [3,4],
  [2,3],
  [1,2],
  [1,3],
  [1,4],
]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/combinations
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


思路

https://leetcode-cn.com/problems/combinations/solution/zu-he-by-leetcode/


代码

class Solution {
  public List<List<Integer>> combine(int n, int k) {
    // init first combination
    LinkedList<Integer> nums = new LinkedList<Integer>();
    for(int i = 1; i < k + 1; ++i)
      nums.add(i);
    nums.add(n + 1);

    List<List<Integer>> output = new ArrayList<List<Integer>>();
    int j = 0;
    while (j < k) {
      // add current combination
      output.add(new LinkedList(nums.subList(0, k)));
      // increase first nums[j] by one
      // if nums[j] + 1 != nums[j + 1]
      j = 0;
      while ((j < k) && (nums.get(j + 1) == nums.get(j) + 1))
        nums.set(j, j++ + 1);
      nums.set(j, nums.get(j) + 1);
    }
    return output;
  }
}


总结

CSP-J 初赛阅读程序 5 类常见题型分析与 2023 年真题拆解 本文全面解析CSP-J初赛阅读程序题的5类常见题型,包括数学公式应用、循环逻辑分析、递归与分治策略等,并结合2023年海伦公式真题进行详细拆解。文章提供高效的备考策略和解题技巧,帮助考生在入门级信息学竞赛中提升得分率,特别适合准备CSP-J第一轮考试的选手参考。 阅读详情

相关推荐

二项分布实战避坑指南:独立性、固定n与二元结果三大前提解析

二项分布是统计建模与A/B测试中最基础也最易误用的概率分布之一。其核心在于三个刚性前提:试验相互独立、试验次数n严格固定、每次结果严格二元。一旦业务场景中存在序列相关性(如用户行为滞后效应)、n由观测窗口人为截断而非业务规则定义、或‘成功’标准模糊可变,传统二项建模即产生系统性偏差。本文从原理出发,结合Ljung-Box检验、Jeffreys置信区间、贝叶斯参数估计等工程化方法,详解如何在真实数据中验证前提、诊断失效、选择替代模型(如马尔可夫二项、Beta二项、零膨胀二项),并落地为可审计的统计契约。关键词

weixin_34302561的博客 433

概率运算中C(k,n)是怎么算的啊? 比如C(6,3)等于几?怎么来的.

C(6,3)=6!/3!3!=20n!=1*2*3*4*...*n

weixin_33901641的博客 1万+

优快云每日一练:小豚鼠搬家

容斥原理是个什么鬼。。。。。老顾没上过学啊

文盲的专栏 680

排列组合C(n,k)计算公式

无

Ivoritow的博客 7346

【信息科学与工程学】【数据中心】第二十四篇 数据中心DaaS场景及算法

Flink, Kafka Streams, 时序数据库。Flink, Kafka Streams, 流处理引擎。Presto, ClickHouse, 查询加速引擎。Presto, ClickHouse, 查询加速引擎。延迟<50ms,可用性>99.99%,QPS>10K。REST API, GraphQL, API网关。Tableau, Power BI, 自助BI。Tableau, Power BI, 可视化库。Spark, Hadoop, 分布式计算框架。Spark, Hadoop, 分布式计算。

weixin_49199313的博客 1061

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 07 堆、栈、表、矩阵、集合、队列、数组、字符串、树、图、动态规划、结构体、元组的算法01

当前段必须包含所有字符的最后出现位置。1. 字符串分割成最多片段2. 基因序列功能域划分3. 文本段落划分4. 音频声道分离5. 图像色彩分区6. 社交网络社群划分7. 蛋白质结构域8. 音乐乐章分段9. 代码模块划分10. 章节划分特征:一次扫描,贪心确定边界。

weixin_49199313的博客 1270

数据结构和算法笔记(1)数论相关

最近在刷编程题,发现了许多杂七杂八的知识点,稍微归类并记录下来方便后续查阅。 本文的目录如下: 1.组合数 2.快速幂 3.大数取模(乘法逆元和费马小定理) 4.菲波拉契数列 1.组合数的求法 组合数,为了方便也写作C(n, k),表示从n个不同元素中取出k (k≤n)个元素的所有组合的个数。 我们知道存在公式C(n, k) = [n*(n-1)*(n-2)*.....

hyk_1996的博客 760

别再凭感觉估算!用ADS的EBOND库精确仿真Bonding线寄生电感(附完整参数设置指南)

本文详细介绍了在ADS中使用EBOND库精确仿真Bonding线寄生电感的方法,帮助射频工程师在毫米波频段实现高精度建模。通过三维物理参数和电磁场求解算法,EBOND模型能将误差控制在5%以内,显著提升电路性能。文章还提供了完整的参数设置指南和实战操作步骤,适用于5G毫米波前端模块等高频应用场景。

weixin_28730131的博客 506

二项分布的公式讲解

二项分布概率公式中那个C后面上k下n是什么意思

weixin_55579895的博客 3250

QMT量化交易桥接方案深度对比:从MiniQMT淘汰说起

量化交易系统中的API桥接,本质是解决本地终端与底层交易引擎之间的通信瓶颈。其核心原理在于绕过GUI封装、直连确定性执行层,从而获得低延迟、高可靠、可监控的指令通路。技术价值体现在策略实盘一致性提升、毫秒级响应保障及运维可控性增强。典型应用场景包括打板策略、T+0套利、高频网格等对时效与稳定性双敏感的自动化交易。本文聚焦国金证券QMT专业版生态,系统剖析DLL注入、HTTP反向代理、IPC共享内存与官方HTTP API四大桥接路径的性能边界、合规风险与工程落地成本,尤其深入解析qmt终端 client is

weixin_33892359的博客 457

【机器学习】实验3,贝叶斯垃圾邮件识别(完整代码实现+报告)

电子邮件是互联网的一项重要服务,在大家的学习、工作和生活中会广泛使用。但是大家的邮箱常常被各种各样的垃圾邮件填充了。有统计显示,每天互联网上产生的垃圾邮件有几百亿近千亿的量级。因此,对电子邮件服务提供商来说,垃圾邮件过滤是一项重要功能。而朴素贝叶斯算法在垃圾邮件识别任务上一直表现非常好,至今仍然有很多系统在使用朴素贝叶斯算法作为基本的垃圾邮件识别算法。本次实验数据集来自的中文垃圾邮件数据集,目录解压后包含三个文件夹,其中data目录下是所有的邮件(未分词),已分词好的邮件在data_cut目录下。

高丽大学人工智能硕士在读|专注大模型、RAG、OCR与AI工程实践 5025

LeetCode 每日一题笔记 日期:2025.12.02 题目:3623. 统计梯形的数目 I

本题的核心是组合数学 + 哈希表分组,通过将问题转化为“不同 y 组合数的两两乘积和”,利用数学公式或累加技巧避免双重循环,实现高效计算。官方题解的累加方式更简洁易写,而公式法更偏数学推导,两者时间复杂度一致。

sheeta1998的博客 656

STM32使用内部RC振荡器作为系统时钟开发项目--内晶振启动模板工程

STM32使用内部RC振荡器时,OSC32_IN,OSC32_OUT接法: 1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。 2)对于少于100脚的产品,有2种接法:    2.1)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。    2.2)分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出

overflyme的博客 1万+

HDU2519 新生晚会【组合计算】

新生晚会 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 14344Accepted Submission(s): 4932 Problem Description 开学了,杭电又迎来了好多新...

weixin_34235371的博客 139

最新Win10离线安装.NET Framework 3.5的方法(附离线包2022/3/22)

win10 .net framework 3.5离线安装

别告诉我有Bug 27万+

RK3588开发笔记-Buildroot编译Qt5WebEngine-5.15.10

Rockchip RK3588是一款强大的多核处理器,广泛应用于边缘计算、人工智能、嵌入式系统等领域。为了在RK3588上运行自定义的Linux系统,并使用Qt5WebEngine进行Web内容渲染,Buildroot是一个非常合适的工具。本文将详细介绍如何使用Buildroot编译并配置Qt5WebEngine-5.15.10。Qt5WebEngine是Qt框架中的一个模块,它提供了一个功能强大的Web浏览器引擎,允许开发者在Qt应用程序中嵌入和显示现代网页内容。

flypig has a dream! 1158

Wall Painting HDU - 4810(组合数异或和)

Ms.Fang loves painting very much. She paints GFW(Great Funny Wall) every day. Every day before painting, she produces a wonderful color of pigments by mixing water and some bags of pigments. On the K-...

>*,< 277

LeRobot 入门教程(五)异步推理

本文介绍了基于SmolVLA的异步推理技术在机器人控制中的应用。通过将动作预测与执行解耦,异步推理消除了传统同步推理中的等待延迟,使机器人行为更加流畅。文章详细讲解了如何安装依赖、启动策略服务器和机器人客户端,并重点说明了关键参数actions_per_chunk和chunk_size_threshold的调整方法。实验表明,异步推理能显著提升机器人响应速度,特别适合大规模模型应用。最后,文章建议用户根据具体硬件和任务需求优化参数配置,以获得最佳性能。

2506_90492529的博客 1643

(动态规划) 剑指 Offer 60. n个骰子的点数 ——【Leetcode每日一题】

剑指 Offer 60. n个骰子的点数 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。

weixin_43412762的博客 662

Android 车载应用之快速入门

车载 Android 系统也被称为 Android Automotive OS,是对原始 Android 系统的一个功能扩充版本。与手机系统一样,Android Automotive OS 源代码完全开放,第三方供应商和汽车制造商可以官方源码的基础上自行开发和拓展,无论是编程语言还是各项接口,都与 Android 系统保持了一致。

xiangzhihong8的专栏 1111

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

K-Means实战手记:从肘部法则到业务可解释聚类

K-Means是一种基于距离的硬划分聚类算法,其核心原理是通过迭代优化簇内平方和(SSE)寻找凸球形簇结构。技术价值在于计算高效、质心可解释性强、部署轻量,天然适配运营决策所需的明确边界与量化标签。典型应用场景包括用户分群、设备异常检测、供应链路径优化等需快速响应与业务对齐的任务。然而实际落地中,特征缩放不当会导致维度权重失衡,肘部法则常因数据平滑而失效,此时轮廓系数成为更鲁棒的K值选择依据;而k-means++初始化与标准化预处理,则是保障收敛稳定性与业务一致性的关键实践。本文聚焦真实项目中反复验证的调参

weixin_30251829的博客 370

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Python实现投资组合优化:从协方差矩阵到夏普比率实战

投资组合优化是现代金融工程的基础技术,其本质是通过数学建模在风险与收益之间寻找最优平衡点。核心原理基于马科维茨均值-方差框架,将资产波动性量化为标准差,将资产联动性表达为协方差矩阵,并以夏普比率作为统一衡量指标。该技术的价值在于将主观经验转化为可回测、可复用的决策逻辑,显著提升资金配置效率与抗风险能力。典型应用场景包括个人资产配置、FOF基金构建、ETF组合管理及智能投顾系统开发。本文聚焦Python工程实践,详解如何用cvxpy构建可解释、可约束、可扩展的优化器,重点覆盖Ledoit-Wolf协方差收缩、

csxc65837的博客 340

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

10个业务落地型算法:从Excel到AI的实用数据工具箱

算法本质上是将模糊业务问题转化为可计算、可解释、可执行的数据决策逻辑。其核心原理不在于数学复杂度,而在于对业务信号的精准捕捉与合理建模——如聚类揭示用户分层本质,时间序列分解剥离趋势与季节性干扰,逻辑回归输出可归因的概率判断。这类算法的技术价值,在于低门槛实现(支持Excel函数、单行Python)、强可解释性(能回应‘为什么’)和高业务适配性(匹配真实场景而非理论最优)。典型应用场景覆盖销售预测、客户分群、工单分类、设备健康监控及营销归因等一线需求。本文聚焦10个经十年实战验证的‘螺丝级’算法,涵盖K-M

weixin_30889885的博客 320

CUSUM在算法交易中的实战应用:动态趋势启动探测器

CUSUM(累积和控制图)是一种源于统计过程控制(SPC)的经典异常检测方法,其核心原理是实时监控序列数据相对于受控状态均值的累计偏差,从而在最小延迟下识别结构性偏移。相较于移动平均等滞后型趋势工具,CUSUM具备事件驱动、自适应阈值与连续状态感知三大技术优势,特别适用于高频交易场景下的微观结构突变捕捉。在算法交易中,它并非独立策略模型,而是嵌入信号流水线的关键决策触发模块,需配合滚动截尾均值、波动率归一化及AR(1)残差去相关等预处理手段方可稳健运行。本文聚焦CUSUM在Tick级行情中的工程落地,涵盖参

weixin_30411239的博客 450
上一篇: 每日算法 - 解码方法
下一篇: java进程间通信的几种方式?对比总结
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值