京东
贪心
n ≤ 1e3
时限 1 秒 / 256 MB
题目描述
现在有 n 个同学,老师要把他们分成若干组去做游戏,每个组的同学必须要不少于 3 个人,请问这 n 个同学最多可以分成多少组。
输入输出
输入描述
在一行中给出一个正整数 n
3 ≤ n ≤ 1000
输出描述
输出一个整数,代表分组的个数
样例共 1 组
算法解析依据充分
考点:贪心 · 基础数学
数据规模 n ≤ 1e3 | 限制 1 秒 / 256MB | 标准输入输出
题目画像
- 数据规模:n ≤ 1e3
- 复杂度门槛:允许 O(n²);若 n ≤ 300,O(n³) 通常也跑得动,需看具体常数。
- 源站时限:1 秒(牛客口径,非本题专属门槛)
解题思路
推荐方向:贪心
每一步都取当前最优,靠问题性质保证局部最优能拼成全局最优。
思路框架(贪心 通法 · 非本题专属)
- 找出「局部最优怎么选」(往往与排序后的顺序有关)。
- 论证(或理性相信)这个贪心策略不会被反例击破:常用交换论证法。
- 按策略一次扫描(通常要先排序)得到答案。
- 若贪心无法证明,考虑改用 DP(贪心的反例通常来自「当前最优影响后续选择」)。
实现要点:贪心题关键在于排序规则:按什么关键字排序决定了策略是否正确。
复杂度:时间 O(n log n)(含排序) | 空间 O(1) ~ O(n)
该范式的通法易错点
- 策略不成立却当成贪心做(典型错因)。
- 排序关键字选错,或相同关键字时的次级规则没考虑。
对照本题
- 数据规模 n ≤ 1e3,允许 O(n²);若 n ≤ 300,O(n³) 通常也跑得动,需看具体常数。
样例
样例 1
解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2024年春招-京东-技术通用岗位-第三批笔试。
编程算法题为只读内容:无需作答,直接看题与解析 · 本站不提供在线判题 · 解析由校招宝本地引擎整理,非官方题解