网易首页 > 网易号 > 正文 申请入驻

2026-06-27:拆分到 1 的最小总代价。用go语言,给定一个整数 n。你需要把它不断地“拆分”为若干个 1,最后一共得到 n 个 1。 一次操作

0
分享至

2026-06-27:拆分到 1 的最小总代价。用go语言,给定一个整数 n。你需要把它不断地“拆分”为若干个 1,最后一共得到 n 个 1。

一次操作允许:把当前某个数 x 拆成两个正整数 a 和 b,满足 a + b = x。

这次操作的费用为 a × b。

你的目标是:在所有拆分方式中,计算从 n 逐步拆到 n 个 1 的最小“总费用”(把每一步的费用加起来)。

1 <= n <= 500。

输入: n = 3。

输出: 3。

解释:

一种最优的操作方案为:

a

b

a + b

a * b

代价

3

1

2

3

2

2

2

1

1

2

1

1

因此,最小总代价为 2 + 1 = 3。

题目来自力扣3857。

一、题意完整拆解 1. 操作规则

给定数字n,最终要拆成n个数字 1,全程只允许一种操作:
任选一个现有数字x,拆成两个正整数a、b,满足a + b = x;
单次拆分操作产生代价 =a × b;
总代价 = 每一步拆分代价全部累加,求所有拆分方案里最小总代价。

2. 样例 n=3 分步推演

初始状态:集合只有 [3],总代价=0

第1步:拆分数字3

可选拆分组合只有(1,2)
单次代价:1×2=2,总代价更新为 0+2=2
当前数字集合:[1,2],剩余未拆完的数是2

第2步:拆分数字2

只能拆成(1,1)
单次代价:1×1=1,总代价更新为 2+1=3
当前数字集合:[1,1,1],全部是1,拆分结束
总代价结果:3,和题目输出一致。

二、推导最小总代价通用公式n*(n-1)/2(核心推理过程) 步骤1:先证明「任意数字x拆分到全部1,固定总代价,和拆分顺序无关」

假设数字 x,无论你怎么分、先分大的还是先分小的,最终把x拆成x个1的全部步骤代价之和永远固定。
举两个例子验证:

例1:x=4

方案1(逐层拆1):
4→1+3,代价3;3→1+2,代价2;2→1+1,代价1;总和=3+2+1=6
方案2(对半拆分):
4→2+2,代价4;第一个2拆1+1代价1;第二个2拆1+1代价1;总和=4+1+1=6
两种拆分顺序总代价完全相等。

步骤2:数学归纳推导固定总代价公式

对数字 x,拆为全部1的总代价恒等于x*(x-1)/2

  • • 基础边界:x=2,2×1/2=1,和实际拆分代价一致;

  • • 假设:所有小于x的数字k,拆分总代价为k(k-1)/2;

  • • 拆分x=a+b:本次代价a*b,后续a、b各自拆成1的代价分别是a(a-1)/2、b(b-1)/2
    总代价 = ab + a(a-1)/2 + b(b-1)/2
    化简:

ab + a(a-1)/2 + b(b-1)/2
= (2ab + a² -a + b² -b)/2
= (a² + 2ab + b² - a - b)/2
= [(a+b)² - (a+b)] / 2
令 x=a+b,代入得x(x-1)/2
归纳成立,证明:任意数字x拆分至全部1的总代价唯一固定,不存在更大/更小,题目所谓最小代价本质只有唯一值。

步骤3:代入样例 n=3 验证公式

3×(3-1)/2 = 3,与样例输出完全匹配。

三、程序执行完整流程(对应提供的Go代码)

  1. 1. 程序入口main函数启动,定义输入变量n=3;

  2. 2. 调用函数minCost(n)计算总代价:
    函数内部执行数学公式n*(n-1)/2直接计算结果;

  3. 3. 将计算结果赋值给变量result;

  4. 4. 通过fmt.Println打印结果,输出数字3;

  5. 5. 程序执行完毕退出。

四、时间复杂度分析 1. 算法逻辑层面

核心计算仅一次乘法、一次减法、一次除法,属于常数级运算,运算次数和输入n的大小(1≤n≤500)无关。
时间复杂度:O(1)

2. 代码执行层面

仅函数调用、基础四则运算、一次打印输出,无循环、无递归、无数组遍历,全程固定常数操作,仍为 O(1)。

五、额外空间复杂度分析

程序仅开辟固定数量变量:

  • • 主函数:变量n、result

  • • minCost函数:入参n,无额外数组、切片、递归栈、动态分配内存
    分配的内存空间数量不随n增大而增加,空间占用恒定不变。
    额外空间复杂度:O(1)

补充总结
  1. 1. 题目看似需要动态规划/模拟拆分求最小值,实际数学证明所有拆分方案总代价完全相等,不存在“更优方案”;

  2. 2. 最优解直接使用数学公式一步算出,无需模拟拆分过程;

  3. 3. 无论n取1~500内任意数值,计算、空间开销均为常数级别。

Go完整代码如下:

package main

import (
"fmt"
)

func minCost(n int)int {
return n * (n - 1) / 2
}

func main() {
n := 3
result := minCost(n)
fmt.Println(result)
}

Python完整代码如下:

# -*-coding:utf-8-*-

def min_cost(n: int) -> int:
return n * (n - 1) // 2

def main():
n = 3
result = min_cost(n)
print(result)

if __name__ == "__main__":
main()

C++完整代码如下:

  


int minCost(int n) {
return n * (n - 1) / 2;
}

int main() {
int n = 3;
int result = minCost(n);
std::cout << result << std::endl;
return 0;
}

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
3大新援已有两个水货!曼联高层承认夏窗引援水准欠佳

3大新援已有两个水货!曼联高层承认夏窗引援水准欠佳

球事百科吖
2026-10-13 04:22:45
“陈皮骗局”爆火:刺痛了多少中国人...

“陈皮骗局”爆火:刺痛了多少中国人...

温伯陵的烟火人间
2026-10-12 21:38:16
欧美港口:拆掉中国设备!工人拆完,领导:我让你拆的是,Logo

欧美港口:拆掉中国设备!工人拆完,领导:我让你拆的是,Logo

星落山间
2026-09-07 00:46:19
6-4到4-2!海港火力全开,蒋光太缺阵后防吃紧,大田反击暗藏杀机

6-4到4-2!海港火力全开,蒋光太缺阵后防吃紧,大田反击暗藏杀机

汪星人哟
2026-10-13 08:07:48
开播一天拿下热度冠军!观众盛赞:首集就欲罢不能

开播一天拿下热度冠军!观众盛赞:首集就欲罢不能

小椰的奶奶
2026-10-13 02:16:05
单年暴跌60万辆后绝地反击,广州这次押上全部家底

单年暴跌60万辆后绝地反击,广州这次押上全部家底

音乐时光的娱乐
2026-10-12 16:21:11
出战4分钟0分5犯2失误!辽篮潜力中锋被打回原形:这状态咋接班韩德君

出战4分钟0分5犯2失误!辽篮潜力中锋被打回原形:这状态咋接班韩德君

篮球快餐车
2026-10-13 05:49:10
2026年值得考虑的7款富士相机

2026年值得考虑的7款富士相机

固件更新中
2026-10-12 06:56:09
许志安演唱会落幕,郑秀文后台深情相拥:人生没有放弃自己的理由

许志安演唱会落幕,郑秀文后台深情相拥:人生没有放弃自己的理由

吃青菜长高
2026-10-12 13:04:35
我才65岁,儿子就要送我去养老院,我无奈同意,临行前去银行注销了银行卡,入住7天后,儿子跑来找我:妈,我这个月的房贷怎么逾期了?

我才65岁,儿子就要送我去养老院,我无奈同意,临行前去银行注销了银行卡,入住7天后,儿子跑来找我:妈,我这个月的房贷怎么逾期了?

蝉吟槐蕊
2026-10-12 23:23:58
吃饭决定寿命?医生发现:活过85岁的老人,吃饭一般都有4特点

吃饭决定寿命?医生发现:活过85岁的老人,吃饭一般都有4特点

医学原创故事会
2026-10-11 23:26:04
广东3消息!杜锋重返宏远,胡明轩官宣担任队长,三外援首秀时间确定

广东3消息!杜锋重返宏远,胡明轩官宣担任队长,三外援首秀时间确定

多特体育说
2026-10-12 20:37:40
拜仁豪掷天价挖角!巴萨核心坐冷板凳!弗里克或逼走诺坎普大将

拜仁豪掷天价挖角!巴萨核心坐冷板凳!弗里克或逼走诺坎普大将

奶盖熊本熊
2026-10-13 07:43:00
花800块跑了900亿Token:Kimi做设计、GLM干活、DeepSeek审计、豆包管图片,这套国产AI组合到底值不值

花800块跑了900亿Token:Kimi做设计、GLM干活、DeepSeek审计、豆包管图片,这套国产AI组合到底值不值

阿鑫讲ai
2026-10-12 23:46:16
蔡国庆每月给弟弟蔡军发2万工资,发了20年,一共480万,条件就一个:在家全职照顾得阿尔茨海默症的母亲

蔡国庆每月给弟弟蔡军发2万工资,发了20年,一共480万,条件就一个:在家全职照顾得阿尔茨海默症的母亲

LULU生活家
2026-09-02 19:51:47
智能电插座遭黑客攻击致多地鱼友“全缸覆灭”?厂商:部分产品被攻击,已报警

智能电插座遭黑客攻击致多地鱼友“全缸覆灭”?厂商:部分产品被攻击,已报警

封面新闻
2026-10-12 10:05:14
曾经“红极一时”,如今“跌下神坛”的3家服装品牌,你买过吗?

曾经“红极一时”,如今“跌下神坛”的3家服装品牌,你买过吗?

李健政观察
2026-09-04 00:22:56
灵活就业想靠单位缴社保,就算不要工资,也不是这么简单

灵活就业想靠单位缴社保,就算不要工资,也不是这么简单

娱乐圈见解说
2026-10-13 03:13:35
放进冰箱变“毒药”,这6种食物千万不要放冰箱冷藏,尤其是第6种

放进冰箱变“毒药”,这6种食物千万不要放冰箱冷藏,尤其是第6种

神牛
2026-10-11 16:13:59
海蒂·克鲁姆泳池边半裸晒照!只穿丁字裤,配文洛杉矶很热

海蒂·克鲁姆泳池边半裸晒照!只穿丁字裤,配文洛杉矶很热

草莓解说体育
2026-10-12 03:50:51
2026-10-13 09:35:00
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1511文章数 83关注度
往期回顾 全部

科技要闻

尊界:10月底确认制动踏板支架升级方案

头条要闻

牛弹琴:美国突然转向俄罗斯一边 欧洲看得目瞪口呆

头条要闻

牛弹琴:美国突然转向俄罗斯一边 欧洲看得目瞪口呆

体育要闻

一周吃6顿披萨的胖子,也能单防姆巴佩?

娱乐要闻

张艺谋身体状况曝光 陈婷不再顾及体面

财经要闻

险资“追涨杀跌”致科技股持续回调?

汽车要闻

小鹏G9L巴黎车展全球上市 法国市场售价74990欧元起

态度原创

亲子
旅游
艺术
时尚
教育

亲子要闻

著名专家:试管婴儿寿命仅40年,那首例试管婴儿如今如何了?

旅游要闻

“富华”归来:老水晶灯依旧在 岭南水景“后花园”撬动岐江文旅走廊

艺术要闻

台北故宫一件魏晋真迹,被称作晋代笔法的“活化石”,水平不输《兰亭序》!

从低谷到巅峰,她让中国网球等了二十年

教育要闻

4个正在崛起的专业,市场需求旺盛;另有4个难度拉满,挂科率高的专业,都是什么情况?

无障碍浏览 进入关怀版