动态规划 立扣题

剪绳子

立扣343. 整数拆分

给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。

复制func cuttingRope(n int) int { // n 米长的绳子
	dp := make([]int, n+1) //范围从1到n
	dp[1] = 1
	dp[2] = 1
	for i := 3; i < n+1; i++ {
		curMax := 1
		for j := 1; j <= i; j++ {
			// 要么直接分成 i 和 i-j 两段,要么将剩下的一段继续分割
			curMax = Max(curMax, Max(j*dp[i-j], j*(i-j)))
		}
		dp[i] = curMax
	}
	return dp[n]
}

func Max(x, y int) int {
	if x > y {
		return x
	}
	return y
}

立扣72题,编辑距离

给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。
你可以对一个单词进行如下三种操作:
插入一个字符
删除一个字符
替换一个字符

例一

输入:word1 = "horse", word2 = "ros"
输出:3
解释:
horse -> rorse (将 'h' 替换为 'r')
rorse -> rose (删除 'r')
rose -> ros (删除 'e')
posted @   沧海一声笑rush  阅读(76)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示