当前位置: 首页 > 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/900608/

相关文章:

  • 天河建网站公司怎么做军事小视频网站
  • 做宣传图册在什么网站90设计网页版
  • 做跳转链接到自己的网站十堰网站建设专家
  • 江门网站建设方案推广微网站与移动开发是做什么的
  • chn域名注册网站中国外贸网站有哪些问题
  • 吉林大学学院网站建设群丹东网站建
  • 网站做的app有哪些百度竞价排名又叫
  • 湛江知名网站建设电话财经app制作公司
  • 写文章的网站列举一个网络营销的案例
  • 在设计赚钱的网站有哪些上海职业技能培训机构一览表
  • 中英文切换网站怎么做怎样用xampp做网站
  • 中卫网站推广优化公司移动端关键词优化
  • 厦门做网站个人网站建设项目的预算
  • 天津网站开发公司定制制作网站设计
  • 服务器可以做几个网站吗长春网站建设找源晟
  • 国外 素材 网站建筑模型网站
  • 如何申请一个网站网站建立健全举报工作机制
  • 重庆品牌型网站建设多少钱网站的服务器是什么
  • 如何制作网站机器人a链接下载wordpress
  • 免费网站建设入门龙岗品牌网站建设
  • 做彩网站怎么做论坛社区网站
  • 建设苏州旅游网站的方案策划书单仁营销网站的建设
  • 甘肃农村网站建设项目营销推广方案
  • 一个网站怎么做新闻模块南京 公司网站制作
  • 网站建设工作分解找活做的网站
  • 腾讯网站国家企业信息系统公示系统下载
  • 西安北郊做网站公司中国企业500强榜单2023
  • 企业网站做口碑营销微网站建设的第一步是进行首页的设置
  • wordpress登陆注册界面seo教程pdf
  • 苏州相城区做网站公司温州优化售后