当前位置: 首页 > wzjs >正文

自己做的网站主页被人篡改重装没有设置wordpress

自己做的网站主页被人篡改,重装没有设置wordpress,四川旅游seo整站优化站优化,小程序导航wordpressLeetCode 热题 100 | 279. 完全平方数 大家好,今天我们来解决一道经典的动态规划问题——完全平方数。这道题在 LeetCode 上被标记为中等难度,要求找到和为给定整数 n 的完全平方数的最少数量。 问题描述 给定一个整数 n,返回和为 n 的完全…

LeetCode 热题 100 | 279. 完全平方数

大家好,今天我们来解决一道经典的动态规划问题——完全平方数。这道题在 LeetCode 上被标记为中等难度,要求找到和为给定整数 n 的完全平方数的最少数量。


问题描述

给定一个整数 n,返回和为 n 的完全平方数的最少数量。

示例 1:

输入:n = 12
输出:3
解释:12 = 4 + 4 + 4

示例 2:

输入:n = 13
输出:2
解释:13 = 4 + 9

提示:

  • 1 <= n <= 10^4

解题思路

核心思想
  1. 动态规划

    • 使用动态规划(DP)来解决这个问题。
    • 定义 dp[i] 为和为 i 的完全平方数的最少数量。
    • 状态转移方程为:
      [
      dp[i] = \min_{j^2 \leq i} (dp[i - j^2] + 1)
      ]
      其中,j^2 是小于等于 i 的完全平方数。
  2. 初始化

    • dp[0] = 0,因为和为 0 的完全平方数的最少数量是 0。
    • dp[1] = 1,因为和为 1 的完全平方数的最少数量是 1。
  3. 遍历

    • 从 2 到 n 遍历,对于每个 i,找到所有小于等于 i 的完全平方数 j^2,并更新 dp[i]

状态转移方程的推导

1. 定义状态

dp[i] 表示和为 i 的完全平方数的最少数量。

2. 状态转移

假设我们已经知道了所有小于 idp 值,现在需要计算 dp[i]。为了得到和为 i 的完全平方数的最少数量,我们可以尝试以下方法:

  • 选择一个完全平方数:选择一个完全平方数 j^2,使得 j^2 <= i
  • 计算剩余部分:如果选择了 j^2,那么剩下的部分就是 i - j^2
  • 递归关系:因此,dp[i] 可以表示为 dp[i - j^2] + 1,其中 +1 表示我们选择了一个完全平方数 j^2
3. 选择最优解

由于 j^2 有多种可能(例如 1, 4, 9, 16 等),我们需要在所有可能的 j^2 中选择一个使得 dp[i - j^2] + 1 最小的值。因此,状态转移方程为:

[
dp[i] = \min_{j^2 \leq i} (dp[i - j^2] + 1)
]

详细解释

假设我们正在计算 dp[12],即和为 12 的完全平方数的最少数量。我们可以尝试以下完全平方数:

  • 选择 j^2 = 1

    • 剩下的部分是 12 - 1 = 11
    • 因此,dp[12] = dp[11] + 1
  • 选择 j^2 = 4

    • 剩下的部分是 12 - 4 = 8
    • 因此,dp[12] = dp[8] + 1
  • 选择 j^2 = 9

    • 剩下的部分是 12 - 9 = 3
    • 因此,dp[12] = dp[3] + 1
  • 选择 j^2 = 16

    • 16 > 12,所以不能选择。

我们需要在这些选择中找到最小值:

[
dp[12] = \min(dp[11] + 1, dp[8] + 1, dp[3] + 1)
]

Python代码实现

class Solution(object):def numSquares(self, n):""":type n: int:rtype: int"""dp = [0] * (n + 1)dp[0] = 0dp[1] = 1for i in range(2, n + 1):temp = []j = 1while j * j <= i:temp.append(dp[i - j * j])j += 1dp[i] = min(temp) + 1return dp[n]

代码解析

  1. 初始化

    • dp 数组初始化为长度为 n + 1 的列表,所有值初始化为 0。
    • dp[0] = 0,因为和为 0 的完全平方数的最少数量是 0。
    • dp[1] = 1,因为和为 1 的完全平方数的最少数量是 1。
  2. 状态转移

    • 遍历从 2 到 n 的每个整数 i
    • 对于每个 i,找到所有小于等于 i 的完全平方数 j^2
    • dp[i - j^2] 的值存储到临时列表 temp 中。
    • 更新 dp[i]min(temp) + 1,表示选择一个完全平方数 j^2 后的最小值。
  3. 返回结果

    • 最终结果存储在 dp[n] 中。

复杂度分析

  • 时间复杂度:O(n * sqrt(n)),其中 n 是给定的整数。对于每个 i,需要遍历所有小于等于 i 的完全平方数。
  • 空间复杂度:O(n),使用了长度为 n + 1dp 数组。

示例运行

示例 1
输入:n = 12
输出:3
解释:12 = 4 + 4 + 4
示例 2
输入:n = 13
输出:2
解释:13 = 4 + 9

总结

通过动态规划的方法,我们可以高效地解决完全平方数问题。状态转移方程 dp[i] = \min_{j^2 \leq i} (dp[i - j^2] + 1) 确保了我们能够找到和为 i 的完全平方数的最少数量。希望这篇题解对大家有所帮助,如果有任何问题,欢迎在评论区留言讨论!

关注我,获取更多算法题解和编程技巧!


文章转载自:

http://seBUHduV.fmswb.cn
http://jVHedRdw.fmswb.cn
http://avroBslQ.fmswb.cn
http://Efkiqjjb.fmswb.cn
http://enC34wa0.fmswb.cn
http://2ggJ05q1.fmswb.cn
http://EEYllgrR.fmswb.cn
http://sD6ymi6i.fmswb.cn
http://4mnUM5NW.fmswb.cn
http://NMDw0HPf.fmswb.cn
http://s15cOrOw.fmswb.cn
http://YWb7kOGx.fmswb.cn
http://GnYP4UGf.fmswb.cn
http://ZhBclKzd.fmswb.cn
http://COQ0bLME.fmswb.cn
http://G46tvFK5.fmswb.cn
http://u2O3lK0N.fmswb.cn
http://bj9k5wR6.fmswb.cn
http://54jalx46.fmswb.cn
http://tiWqAZJ8.fmswb.cn
http://I5uP6uUn.fmswb.cn
http://jtxJCIPf.fmswb.cn
http://Map7tfW9.fmswb.cn
http://PPqZfX49.fmswb.cn
http://Pw98xF0D.fmswb.cn
http://BqDs6YOz.fmswb.cn
http://DArG8lUK.fmswb.cn
http://lrTO76E1.fmswb.cn
http://vrQHlgya.fmswb.cn
http://x32SrzOG.fmswb.cn
http://www.dtcms.com/wzjs/669233.html

相关文章:

  • 高清图片素材网站免费下载广告公司活动策划公司
  • 宁波怎么建网站模板站淘宝指数网站
  • 线上注册公司是在哪个网站做不了大流量网站
  • 邯郸广告设计招聘如何网站关键词优化
  • 网站开发语言字典视频专用客户端app
  • 中小企业网站制作不了室内设计用什么软件比较好
  • 网站做零售深圳响应式网站设计
  • 设计上海展seo是什么意思职业
  • 织梦网站后台怎么登陆网上商城官网入口
  • 哪个网站做外贸假发好创业商机网官网
  • 打开网站文件夹权限设置搜索引擎网络推广方法
  • 宁波网络建站公司有哪些简述网站规划的主要内容
  • 怎么做网盘网站网址打不开是啥原因
  • 无锡企业建站系统企业网站管理系统带授权
  • 怎么做自己的cms导购网站网站免费源码大全无用下载
  • 移动网站建设哪家便宜做网站比特币钱包
  • 西安市城乡建设管理局网站的公示栏6海口网站开发公司电话
  • 烟台怎么做网站怎么制作一个微信小程序
  • 网站与后台企业网站怎样做可以搜索到
  • 校园网站建设的背景企业网站的建立方法
  • vs 网站开发教程网站备案申请
  • 建一个购物网站香水网络营销策划方案
  • 茶叶网站制作模板简约的网页设计欣赏
  • 网站建设捌金手指下拉十四网站建设公司擅自关闭客户网络
  • dedecms 调用网站内部搜索外贸电商
  • 大连网站设计菲尔莱斯推广宣传方式有哪些
  • 自适应网站开发wordpress怎么实现会员登录
  • 怎样刷新网站做杂志的网站有哪些
  • 网站标题应怎设置企业文化包括哪六个
  • 怎么在wordpress建英文网站怎么制作网站首页的代码