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

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)/2b(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.

相关推荐
热点推荐
当一个经济体不愿意投资,那就不完全是信心的问题 

当一个经济体不愿意投资,那就不完全是信心的问题 

生命可以承受之轻
2026-08-13 16:48:57
千亿龙头中报业绩暴增三倍!603256:终止6亿元电子布项目

千亿龙头中报业绩暴增三倍!603256:终止6亿元电子布项目

大众证券报
2026-08-13 23:30:22
山口百惠:我的祖籍是上海

山口百惠:我的祖籍是上海

大侠霍元乙
2026-07-24 09:55:24
电车遮羞布一块块被撕下,销量连续下跌,电车车企慌了

电车遮羞布一块块被撕下,销量连续下跌,电车车企慌了

柏铭锐谈
2026-08-13 22:25:18
二人独处,女人不抗拒肢体亲近,唯独介意男人这三种行为

二人独处,女人不抗拒肢体亲近,唯独介意男人这三种行为

三农老历
2026-07-11 19:31:24
惊人的父子定律:爸爸什么样,儿子大概率就什么样

惊人的父子定律:爸爸什么样,儿子大概率就什么样

户外阿毽
2026-08-08 10:22:54
给千万企退工人一个公道:年年调资不是福利,是缴费换来的权益

给千万企退工人一个公道:年年调资不是福利,是缴费换来的权益

你在偷看谁
2026-08-12 20:02:35
张颖颖曝大S死因隐情,难怪小菲频频讨好S妈,大S生前早有暗示

张颖颖曝大S死因隐情,难怪小菲频频讨好S妈,大S生前早有暗示

吴蒂旅行ing
2026-08-13 14:14:57
街机只有日版才是原汁原味,就是辣眼睛的画面太多

街机只有日版才是原汁原味,就是辣眼睛的画面太多

街机时代
2026-08-12 18:00:03
善待买断工龄下岗工人!再不妥善处理,以后再无弥补机会

善待买断工龄下岗工人!再不妥善处理,以后再无弥补机会

白米饭怎么吃
2026-07-31 19:25:54
克林顿:我后悔让乌克兰放弃核武器,其次是让中国加入世贸组织

克林顿:我后悔让乌克兰放弃核武器,其次是让中国加入世贸组织

战域笔墨
2026-07-19 06:34:29
姆巴佩度假秀恩爱被嘲不务正业,欧冠金球真不重要了?看懂他凌晨四点加练才知多可怕

姆巴佩度假秀恩爱被嘲不务正业,欧冠金球真不重要了?看懂他凌晨四点加练才知多可怕

草莓解说体育
2026-08-08 11:29:46
得知美国向日本扔了原子弹,毛主席非但不高兴,反而气得拍桌子!

得知美国向日本扔了原子弹,毛主席非但不高兴,反而气得拍桌子!

凉州辞
2026-08-04 13:45:03
豪门冷暖两重天:平民儿媳黯然离场,圈层名媛从容入局

豪门冷暖两重天:平民儿媳黯然离场,圈层名媛从容入局

布丁冰淇淋
2026-08-03 21:02:34
“女生30分钟”事件走红,哭诉错过上大学机会,网友:你送外卖都够呛

“女生30分钟”事件走红,哭诉错过上大学机会,网友:你送外卖都够呛

熙熙说教
2026-07-30 18:25:22
人有没有肠息肉,看吃饭就知道?肠道内长息肉,吃饭或有这几表现

人有没有肠息肉,看吃饭就知道?肠道内长息肉,吃饭或有这几表现

医学科普汇
2026-08-04 23:15:03
越南少将坦言:如果当时中国军队在谅山再多待五天,布防在那里的越军,不是被打散的问题,而是从建制上被彻底抹掉的问题, 一个都不剩下

越南少将坦言:如果当时中国军队在谅山再多待五天,布防在那里的越军,不是被打散的问题,而是从建制上被彻底抹掉的问题, 一个都不剩下

人生录
2026-08-08 00:05:22
不打也不放开封锁和制裁,美国欲困死伊朗革命卫队?

不打也不放开封锁和制裁,美国欲困死伊朗革命卫队?

高博新视野
2026-08-11 19:26:42
畸形审美?演技尴尬,油头粉面,却总演主角的几位男星,实在离谱

畸形审美?演技尴尬,油头粉面,却总演主角的几位男星,实在离谱

大眼妹妹
2026-08-11 06:43:03
1948 年,淮海战役未解谜团,杜聿明晚年直言,真正强敌并非粟裕,而是那位常在紧要关头暗中截断自身退路的寡言总长

1948 年,淮海战役未解谜团,杜聿明晚年直言,真正强敌并非粟裕,而是那位常在紧要关头暗中截断自身退路的寡言总长

磊子讲史
2026-07-14 10:50:11
2026-08-14 04:07:00
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1392文章数 79关注度
往期回顾 全部

科技要闻

一切皆插件!DeepSeek Harness正式发布

头条要闻

冉莹颖被指称“输了换老公有保险”邹市明深夜回应

头条要闻

冉莹颖被指称“输了换老公有保险”邹市明深夜回应

体育要闻

负债十几亿的联赛,还在疯狂买球星

娱乐要闻

篡改红歌已立案,郭德纲大祸临头

财经要闻

可治疗癌症?神话破灭的片仔癀 陷入争议

汽车要闻

全新红旗H7到底新在哪儿?

态度原创

本地
手机
数码
时尚
公开课

本地新闻

黄州一夜,苏轼写给普通人的月光

手机要闻

荣耀Robot Phone成了,Magic9要来了

数码要闻

英伟达GeForce NOW原生Linux应用发布:结束Beta测试

HYROX赛场上的美照怎么拍出来的?

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版