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

网上做物理题赚钱的网站朝阳网络推广

网上做物理题赚钱的网站,朝阳网络推广,怎么做招聘网站的调研,昆明网站排名力扣刷题记录 dp 回溯 3180. 执行操作可获得的最大总奖励 I 思路 和往常一样,先使用暴力求解,想到了回溯算法,选择了当前数字,就跳到下一个数字,形成一个树形结构来遍历所有结果集合,但是没有找到优化算…

力扣刷题记录

dp 回溯

3180. 执行操作可获得的最大总奖励 I

思路

和往常一样,先使用暴力求解,想到了回溯算法,选择了当前数字,就跳到下一个数字,形成一个树形结构来遍历所有结果集合,但是没有找到优化算法,时间复杂度比较高
在这里插入图片描述
但是也可以通过90%的测试用例

没办法,只能思考动态规划的问题,没有想出来,查看题解
首先对数组进行排序
定义动态数组 dp[2 * max] , max表示最大的奖励数字
dp数组记录值为0或1,表示该下标的值是否能够被取到

最大的奖励数不可能超过2 * max,因此遍历奖励数组,当前值为x时,倒序k遍历 2 * x - 1到x,判断dp[k - x]是否可以取到,如果可以取到,那么dp[k]也可以达到,标记为1

最后遍历dp数组找到最大值即可

代码

var res int = 0func backTracking(rewardValues []int, curReward int, pos int){if curReward > res{res = curReward}if pos >= len(rewardValues){return}for i := pos; i < len(rewardValues); i++{if curReward < rewardValues[i]{curReward += rewardValues[i]backTracking(rewardValues, curReward, i + 1)curReward -= rewardValues[i]}}
}func maxTotalReward(rewardValues []int) int {sort.Ints(rewardValues)// res = 0// backTracking(rewardValues, 0, 0)max := rewardValues[len(rewardValues) - 1]dp := make([]int, 2 * max)dp[0] = 1for _, x := range rewardValues{for k := 2 * x - 1 ; k >= x ; k --{// k 表示能到达的最大总奖励if dp[k-x] == 1{dp[k] = 1}}}for i, val := range dp{if val == 1{res = i}}return res
}

不考虑排序算法的情况下
时间复杂度:O(n*max)
空间复杂度:O(max)

http://www.yidumall.com/news/67670.html

相关文章:

  • 招聘网站如何做SEO深圳网站优化推广
  • 微网站的建设模板有哪些内容重庆放心seo整站优化
  • 建个企业网站一年需要多少钱百度公司总部
  • 自己建网站做外贸网文网站排名
  • 宝鸡网站建设价格网站权重等级
  • wordpress怎么做企业网站网站seo优化网站
  • 学校的网站怎么做的好seo综合查询国产
  • 建立网站流程图seo是广告投放吗
  • 免费网站建设公司代理优化大师专业版
  • 网站建设计划表模板下载seo做得比较好的公司
  • 爱做网站软件冯耀宗seo
  • 做网站维护的人叫啥百度官方入口
  • 网站后台怎么做友情链接免费推广的网站
  • 网站降权该怎么做淘宝关键词搜索
  • 域名购买 万网电脑优化
  • idc新人如何做自己的网站app拉新推广平台
  • 网站建设 团队四年级说新闻2023
  • 摩洛哥网站后缀正规电商平台有哪些
  • 大学生创业做创意宿舍装修网站深圳搜索引擎
  • 网站建设中 英文手机网站搜索优化
  • 苗木企业网站建设源代码百度搜索数据统计
  • 沧州瑞智网站建设网站报价
  • 在哪个网站上做蓝思测评谷歌seo优化公司
  • 好的手机网站推荐cpv广告联盟
  • 外贸网站建设公司方案seo的优化方案
  • 视频网站分享复制通用代码怎么做seo优化诊断工具
  • 可以上传资源的网站开发费用google建站推广
  • html网站支付链接怎么做的windows优化大师有什么功能
  • 邢台网站制作地方百度推广开户代理商
  • 网站建设服务有哪些上海优化营商环境