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

新乡市做网站百度竞价排名规则及费用

新乡市做网站,百度竞价排名规则及费用,wordpress 个人电脑,微信小程序开发服务商💢欢迎来到张胤尘的技术站 💥技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 算法每日一练 (18)删除并获得点数题目描述解题思路解题…

💢欢迎来到张胤尘的技术站
💥技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥

文章目录

  • 算法每日一练 (18)
    • 删除并获得点数
      • 题目描述
      • 解题思路
      • 解题代码
        • `c/c++`
        • `golang`
        • `lua`

官方站点: 力扣 Leetcode

算法每日一练 (18)

删除并获得点数

题目地址:删除并获得点数

题目描述

给你一个整数数组 nums ,你可以对它进行一些操作。

每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1nums[i] + 1 的元素。

开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。

示例 1:

输入:nums = [3,4,2]
输出:6
解释:
删除 4 获得 4 个点数,因此 3 也被删除。
之后,删除 2 获得 2 个点数。总共获得 6 个点数。

示例 2:

输入:nums = [2,2,3,3,3,4]
输出:9
解释:
删除 3 获得 3 个点数,接着要删除两个 2 和 4 。
之后,再次删除 3 获得 3 个点数,再次删除 3 获得 3 个点数。
总共获得 9 个点数。

提示:

  • 1 <= nums.length <= 2 * 104
  • 1 <= nums[i] <= 104

解题思路

  • 首先根据题意判断边界条件,当集合 nums 中元素数量为 1 时直接返回首个元素的值即可。

  • 然后获取数组中的最大值,创建辅助数组 count 来统计每个数字的总点数。其中 count[i] 表示 i 数字出现的点数之和。

  • count 集合中的元素个数小于 3 个时,表示源数组中不相同的元素个数不超过 2 个,故直接返回 count[1] 即可。

  • 创建 dp 数组,初始化 dp[1]dp[2]

    • dp[1] = count[1]:因为 count[0] 永远等于 0 所以直接取 count[1] 即可。
    • dp[2] = max(count[1], count[2]):因为 count[1]count[2] 只能选择删除其中一个,故选择其中最大的一个。
  • 借助 for 循环从 3 开始到 maxVal,满足如下状态转移方程:

    d p [ i ] = m a x ( d p [ i − 1 ] , d p [ i − 2 ] + c o u n t [ i ] ) dp[i] = max(dp[i - 1], dp[i - 2] + count[i]) dp[i]=max(dp[i1],dp[i2]+count[i])

    • 如果选择删除 i,则不能选择删除 i-1i+1,故 dp[i] 的值就是 dp[i-2] + count[i]
    • 如果不选择删除 i,则可以删除 i-1,故 dp[i] 的值就是 dp[i-1]
    • 两者取其中最大值就是 dp[i] 的状态值。
  • 最终返回 dp[maxVal] 的值即可。

解题代码

c/c++
#include <vector>class Solution
{
public:int deleteAndEarn(std::vector<int> &nums){int sz = nums.size();if (sz == 1)return nums[0];int maxVal = nums[0];for (int i = 1; i < sz; i++){if (nums[i] > maxVal)maxVal = nums[i];}std::vector<int> count(maxVal + 1, 0);for (auto &e : nums){count[e] += e;}if (count.size() < 3)return count[1];std::vector<int> dp(maxVal + 1, 0);dp[1] = count[1];dp[2] = std::max(count[1], count[2]);for (int i = 3; i <= maxVal; i++){dp[i] = std::max(dp[i - 1], dp[i - 2] + count[i]);}return dp[maxVal];}
};
golang
func deleteAndEarn(nums []int) int {sz := len(nums)if sz == 1 {return nums[0]}maxVal := nums[0]for i := 1; i < sz; i++ {if nums[i] > maxVal {maxVal = nums[i]}}count := make([]int, maxVal+1)for _, num := range nums {count[num] += num}if len(count) < 3 {return count[1]}dp := make([]int, maxVal+1)dp[1] = count[1]dp[2] = max(count[1], count[2])for i := 3; i <= maxVal; i++ {dp[i] = max(dp[i-1], dp[i-2]+count[i])}return dp[maxVal]
}
lua
local function deleteAndEarn(nums)local sz = #numsif sz == 1 thenreturn nums[1]endlocal maxVal = nums[1]for i = 2, sz doif nums[i] > maxVal thenmaxVal = nums[i]endendlocal count = {}for i = 1, maxVal docount[i] = 0endfor i, v in ipairs(nums) doif v == 0 thengoto continueelsecount[v] = count[v] + vend::continue::endif #count == 1 thenreturn count[1]endlocal dp = {}dp[1] = count[1]dp[2] = math.max(count[1], count[2])for i = 3, maxVal dodp[i] = math.max(dp[i - 1], dp[i - 2] + count[i])endreturn dp[maxVal]
end

🌺🌺🌺撒花!

如果本文对你有帮助,就点关注或者留个👍
如果您有任何技术问题或者需要更多其他的内容,请随时向我提问。

在这里插入图片描述


文章转载自:

http://LhZo8Na4.bgnbr.cn
http://kqKn2lIB.bgnbr.cn
http://yiEbZcTd.bgnbr.cn
http://ZFCeAgvk.bgnbr.cn
http://FovzMD7H.bgnbr.cn
http://xAB6aI3R.bgnbr.cn
http://DJqN6C8W.bgnbr.cn
http://OaeA8536.bgnbr.cn
http://Nt17p5Tv.bgnbr.cn
http://B9wWgbdI.bgnbr.cn
http://kvGl7fYT.bgnbr.cn
http://hEqAI7zv.bgnbr.cn
http://Tm4PdVAg.bgnbr.cn
http://yR54jUDm.bgnbr.cn
http://6NAeepsM.bgnbr.cn
http://s0GL51L8.bgnbr.cn
http://n91OJgXJ.bgnbr.cn
http://BQe7WoUE.bgnbr.cn
http://aQArKE5L.bgnbr.cn
http://WZHrSwv9.bgnbr.cn
http://fj8oXNt6.bgnbr.cn
http://7vz5cf8o.bgnbr.cn
http://JnrbwYwJ.bgnbr.cn
http://s5K0U1h9.bgnbr.cn
http://sLQXaldj.bgnbr.cn
http://Cgq7lt7R.bgnbr.cn
http://GxQHFlGG.bgnbr.cn
http://8AUnoG68.bgnbr.cn
http://r3KVsODa.bgnbr.cn
http://1QeNFVrA.bgnbr.cn
http://www.dtcms.com/wzjs/741724.html

相关文章:

  • 有字库wordpress宁波优化网站厂家
  • 做网站连带责任江苏苏州网站建设
  • 最新网站开发技术金乡网站建设公司
  • 英文的购物网站实业 东莞网站建设
  • 手机外贸网站建设自己搭建网站
  • 找外包公司做网站价钱用什么做网站的访问量统计
  • 辽宁省城乡建设规划院网站吐鲁番seo招聘
  • 做设计有哪些接私活的网站dede网站迁移步骤
  • 做一个自适应网站多少钱深圳便宜的网站建设
  • 网站改版后 搜索不到济南城市建设集团 网站
  • 做电影网站服务器应用公园制作app免费吗
  • 怎么做网站受众分析推广网站优化怎么做
  • 网站上做相关链接沈阳便宜做网站的
  • 网站这么做404页面泉州seo代理商
  • 网站流量查询漳州开发区人事人才网
  • 郑州哪里做网站汉狮灵犀科技网站开发
  • 甘肃兰州旅游必去十大景点电商网站建设优化
  • android开发下载wordpress白杨seo课程
  • 怎么查网站的所有权seo技术分享免费咨询
  • 做哪种网站比较简单建设工程施工证哪个网站查询
  • 青海省住房和城乡建设网站免费的背景视频素材
  • 百度生成手机网站wordpress mu调取
  • 如何制作手机网站有没有免费的广告平台
  • 长沙网站seo技术wordpress主题2zzt
  • 企业网站怎样做可以搜索到无后台基础怎么建设网站
  • 记事本做网站怎么插图上海中学官网登录
  • 承接网站开发 app开发做网站文字居中代码
  • 2017手机网站建设方案公司网站建设亚运村
  • 响应式网站有哪些修改wordpress 表格
  • 网站建设的案例教程视频教程台州招聘网站建设