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

企业网站搭建哪家好米拓与wordpress

企业网站搭建哪家好,米拓与wordpress,如何查看网站开发源码,福州做公司网站基础题 打家劫舍https://leetcode.cn/problems/house-robber/ 小白解法 删除nums[i]就会使得所有nums[i]-1和nums[i]1的值都消失,手写了几个,发现找来找去不方便,还不如先排个序,然后这样nums[i]-1和nums[i]和nums[i]1就能靠在…

基础题

打家劫舍https://leetcode.cn/problems/house-robber/

小白解法

  • 删除nums[i]就会使得所有nums[i]-1nums[i]+1的值都消失,手写了几个,发现找来找去不方便,还不如先排个序,然后这样nums[i]-1nums[i]nums[i]+1就能靠在一起了,这样删的时候方便找。
  • 只要获得一次nums[i]的点数那么肯定是要一起把所有的nums[i]都要带上的,也就是获得nums[i]*nums[i]次数个点数

嗯,发现[1,1,1,2,2,3,4,5]的时候怎么这么熟悉,选1就不能选2,选2就不能选3,这不是相邻的2个数不能一起选?这不是打家劫舍吗?

但是也有所区别,当相邻的2个值相差不是1时,可以直接获得,不需要“打家劫舍”。我们此时说的“相邻”是在[1,2,3,4]这个新构造的数组上的相邻,而不是原数组[1,1,1,2,2,3,4,5]未知的相邻。 也就是把每个相同元素的数字看成1个数,其对应的能获得点数是nums[i]*nums[i]次数

那么要怎么新构造的数组?可以使用C++风格的直接[0 for i in range(max(nums))]构造一个可能超长的数组,然后把对应位置的元素填上,解起来就跟打家劫舍的写法一模一样了;也可以使用一个字典num2value,统计key能获得的value,然后在判断的时候加入是否abs(nums[i]-nums[i-1])==1

我个人还是倾向于字典的写法:

class Solution:def deleteAndEarn(self, nums: List[int]) -> int:# 统计每个数字对应能获得的点数from collections import defaultdictnum2value=defaultdict(int)for n in nums:num2value[n]+=n# 构造新数组sorted_nums        sorted_nums=sorted(set(nums))if len(sorted_nums)==1:return num2value[nums[0]]if len(sorted_nums)==2:if abs(sorted_nums[0]-sorted_nums[1])==1:return max(num2value[sorted_nums[0]],num2value[sorted_nums[1]])else:return num2value[sorted_nums[0]]+num2value[sorted_nums[1]]# 上述特殊情况# 下面是初始化+转移方程dp=[0 for _ in range(len(sorted_nums))]dp[0]=num2value[sorted_nums[0]]if abs(sorted_nums[0]-sorted_nums[1])==1:# 如果是相邻元素,那么就是打家劫舍式的更新dpdp[1]= max(num2value[sorted_nums[0]],num2value[sorted_nums[1]])else:# 若不是,可以直接+,不受影响dp[1]= num2value[sorted_nums[0]]+num2value[sorted_nums[1]]for i in range(2,len(sorted_nums)):if abs(sorted_nums[i]-sorted_nums[i-1])!=1:dp[i]=dp[i-1]+num2value[sorted_nums[i]]else:select_now=num2value[sorted_nums[i]]+dp[i-2]unselect_now=dp[i-1]dp[i]=max(select_now,unselect_now)# print(dp)return dp[-1]

在写完下方的一般情况后,仍然不要忘了特殊情况,下方的下标是有i-1和i-2的,这两种需要单独去返回。

不得不说小白写法写的真的很繁琐,不优美,但是便于理解。

http://www.sczhlp.com/news/88623/

相关文章:

  • 厦门微信商城网站建设快速做网站
  • 哪些网站是php域名网站如何做市场推广
  • 两学一做网站条幅策划公司属于什么行业
  • 电商网站排行北京网站设计济南兴田德润团队怎么样
  • 做视频网站服务器怎么选择公司文化墙设计
  • 免费网站报价单怎么做邯郸网络公司哪家好
  • 域名关联网站商城网站带宽控制
  • 郑东新区网站建设深圳网站建设明细报价表
  • 广告设计网站官网网站的建设域名空间
  • 效果好的免费网站建设怎样看出一个网站是那个公司做的
  • 网站建设工作室发展公司模块网站制作
  • php免费企业网站源码淘宝店铺怎么引流推广
  • 当今做网站的语言有哪些东莞厚街创新科技职业学院
  • 做网站注意什么百度搜不到网站
  • 呼和浩特网站制作公司丹阳市建设局网站
  • a最先基智网站建设网站建设首选 云端高科
  • 设计网站公司力荐亿企邦如何注销网站备案号
  • mvc网站开发视频教程百度指数分析工具
  • 企业网站开发需求详细文档东莞模块网站建设
  • dw网站怎么做点击图片放大一起做单网站怎么样
  • 孟村县网站建设公司如何把物流做免费网站
  • 做版权保护的网站网站建设的模块
  • 家庭服务网站的营销策略深圳市新房备案价查询官网
  • 企业邮箱是什么 怎么注册安卓优化大师下载
  • Tekla坐标定位插件源码
  • 个人网站收款问题实时新闻热点
  • 可以做装修效果图的网站有哪些旅游商务网站开发
  • php抽奖网站源码钢构网架加工厂
  • 长春企业平台电商seo优化是什么意思
  • 哪个网站可以直接做ppt职业生涯规划ppt免费模板