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

做新年公告图片的网站我想找一个营销团队

做新年公告图片的网站,我想找一个营销团队,公司网站建设宣传报道稿件,即墨网站建设公司力扣原题链接,点击跳转。 给你一个整数数组nums。每次操作,可以删除任意一个值n,接着获得点数n,并同时删除所有的n-1和n1。你最多能获取多少点数? 这个问题的解法相当巧妙。我们可以把问题先转化一下。用类似计数排序…

力扣原题链接,点击跳转。

给你一个整数数组nums。每次操作,可以删除任意一个值n,接着获得点数n,并同时删除所有的n-1和n+1。你最多能获取多少点数?

这个问题的解法相当巧妙。我们可以把问题先转化一下。用类似计数排序的思路,定义一个数组arr,用arr[i]表示所有的点数i的和。比如nums数组:1、2、2、3、3、3,那么arr数组:0、1、4、9,因为1出现1次,和为1;2出现2次,和为2×2=4;3出现3次,和为3×3=9。

盯着这个arr数组,问题就转化为:在arr数组中选取一个子数组,不能同时选取相邻的元素,请找出一个子数组,让这个子数组所有元素的和最大。如果你看到这里,觉得这道题跟某一道经典问题很像,有这种感觉就对了。具体请看我的另一篇博客:「动态规划」打家劫舍,点击跳转。有了打家劫舍的铺垫,这个问题就非常简单了,思路可以说是一模一样。

用动态规划的思路来解决这个问题。首先确定状态表示,用f[i]表示选到下标为i的元素时,必须选择下标为i的元素,子数组的最大和;用g[i]表示选到下标为i的元素时,不能选择下标为i的元素,子数组的最大和。接着推导状态转移方程,显然f[i]=g[i-1]+arr[i],g[i]=max(f[i-1],g[i-1])。初始化f[0]=arr[0]=0,g[0]=0。为什么arr[0]=0呢?因为点数0不管选多少,和都是0。填表时应从左往右同时填表。arr有n个元素,最后返回max(f[n-1],g[n-1])。

class Solution
{
public:int deleteAndEarn(vector<int>& nums){const int N = 10001;// 用arr[i]表示所有点数i的和vector<int> arr(N);for (auto num : nums)arr[num] += num;// 创建dp表vector<int> f(N);auto g = f;// 填表for (int i = 1; i < N; i++){f[i] = g[i - 1] + arr[i];g[i] = max(f[i - 1], g[i - 1]);}return max(f[N - 1], g[N - 1]);}
};
http://www.yayakq.cn/news/391232/

相关文章:

  • 济南营销网站建设公司宝塔网站做301重定向
  • 深圳网站建设联华东莞公认的第一富人区
  • 免费建网站抚顺做行业网站如何采集信息
  • 广西建设银行行号查询网站深圳设计培训
  • 还有做网站的必要吗唐朝网站的地址
  • 网站加支付功能做网站接私活流程
  • 怎么做赛事直播网站天津市网站建设+网页制作
  • 网站建设太金手指六六三十杭州建设工程网
  • 网页在线制作网站源码nodejs做网站能保护源代码吗
  • 电商自建站别墅室内设计效果图
  • 公司网站建设费用账务处理公司起名字大全免费2022
  • 一个公司的网站怎么做wordpress 多个页面
  • 工信部网站备案信息怎么查询系统wordpress企业建站视频教程
  • 常州天宁区做网站公司网页游戏网站模压板
  • 找代码的网站海报模板网址
  • 网站在广告法之前做的平湖手机网站建设
  • 80后陈某做盗版视频网站中文网站建设公司
  • 联通网站服务器安徽安搜做的网站怎么样
  • 上海网站设计与制作如何发布网站
  • 企业网站建设信息管理平台网站建设的专业性对搜索引擎营销的影响
  • 青岛即墨网站建设孝感专业做网站公司
  • 贵阳网站制作套餐廊坊网站建设报价
  • 深圳建设局官方网站建站工具官网
  • 怎么建电子商务网站精准营销的三大要素
  • 京东在线购物网站商会网站的建设
  • 深圳最好的网站制作哪家公司好软件著作权登记
  • 营销型网站制作哪家好网站算信息化建设
  • 关键词网站建设优化上海建设电动车官方网站
  • 南平如何做百度的网站wordpress弹出服务协议窗口
  • 用织梦做的学校网站订阅号可以做网站链接吗