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

青岛装饰公司十强排名网络优化的目的

青岛装饰公司十强排名,网络优化的目的,四川建设厅网站打不开,做网站从哪方面入门文章目录1 题目理解2 开始思考1 题目理解 给你一个整数数组 arr 和一个整数 difference#xff0c;请你找出并返回 arr 中最长等差子序列的长度#xff0c;该子序列中相邻元素之间的差等于 difference 。 输入#xff1a;整数数组arr#xff0c; 整数difference 输出… 文章目录1 题目理解2 开始思考1 题目理解 给你一个整数数组 arr 和一个整数 difference请你找出并返回 arr 中最长等差子序列的长度该子序列中相邻元素之间的差等于 difference 。 输入整数数组arr 整数difference 输出最长等差子序列的长度 规则这个等差子序列相邻元素的差等于difference 示例 1 输入arr [1,2,3,4], difference 1 输出4 解释最长的等差子序列是 [1,2,3,4]。 示例 2 输入arr [1,3,5,7], difference 1 输出1 解释最长的等差子序列是任意单个元素。 示例 3 输入arr [1,5,7,8,5,3,4,2,1], difference -2 输出4 解释最长的等差子序列是 [7,5,3,1]。 2 开始思考 以arr [1,5,7,8,5,3,4,2,1], difference -2 为例。 处理1子序列是[1] 处理5因为5-1!-1所以产生子序列[5]此时子序列有[1],[5] 处理7因为7-5!-27-1!-2所以产生子序列[7]此时子序列有[1],[5][7] 处理8…此时子序列有[1],[5],[7],[8] 处理5因为5-8!-2,5-7-2,子序列变为[1],[5],[7,5],[8] … 所以发现在处理每一个数的时候和他前面已经形成的每个子序列的某位数字比较符合条件就可以追加不符合条件就单独成一个子序列。当然在追加的时候肯定要选择追加在最长的那个子序列后面。 当一个数追加到子序列之后后面的处理就只与这个数有关系而与子序列的具体序列无关所以可以使用dp。 用dp[i]表示以arr[i]结尾的等差子序列的最长长度。最后结果在dp[0],dp[1]…dp[n-1]之间选择最大的。 class Solution {public int longestSubsequence(int[] arr, int difference) {int n arr.length;int[] dp new int[n];dp[0] 1;int max 1;for(int i1;in;i){dp[i] 1;for(int j0;ji;j){if(arr[j] difference arr[i]){dp[i] Math.max(dp[i],1dp[j]);}}max Math.max(max,dp[i]);}return max;} }提交之后发现超时。再一思考。当处理arr[i]的时候它等差子序列的前一个数值是确定的一定是arr[i]-difference。也就是说不需要关心从0到i-1每个子序列的最长长度只要关心以arr[i]-difference为结尾的等差子序列的长度即可。 class Solution {public int longestSubsequence(int[] arr, int difference) {int n arr.length;MapInteger,Integer map new HashMapInteger,Integer();int[] dp new int[n];dp[0] 1;map.put(arr[0],1);int max 1;for(int i1;in;i){dp[i] 1;int t arr[i] - difference;if(map.containsKey(t)){dp[i] Math.max(dp[i],map.get(t)1);}map.put(arr[i],dp[i]);max Math.max(max,dp[i]);}return max;} }在做315 Count of Smaller Numbers After Self的时候因为没有考虑重复元素使用map出错了。所以现在有点犹豫可以这样吗当数值重复的时候会出错吗 还是上面的例子[1],[5],[7,5],[8]当处理数字3的时候3--25当然追加在[7,5]后面变成[7,5,3]。我们从左到右处理当map中有5的长度的时候5一定出现在3前面但是至于是什么位置的5并不关心也没有关系。因为子序列就不一定是连续的。 再从另外一个角度考虑。如果 arr[i-3] arr[i-1] arr[i] 是一个等差序列 那么当 arr[j]arr[i],并且 ji的时候那么 arr[i-3] arr[i-1] arr[j] 也一定是一个等差序列。而且 在i到j之间可能产生一个更长的等差序列数组。 所以map优化以arr[i]为key没有问题。
http://wiki.neutronadmin.com/news/65621/

相关文章:

  • 休闲小零食网站开发方案网站建设怎么进后台
  • wordpress手机认证登录页面模板seo咨询解决方案
  • ssh网站怎么做网站建设CEO
  • 找人做软件网站做ppt好的模板下载网站有哪些内容
  • 网站开发样板海外广告公司
  • 重庆免费网站建站模板济南网络营销服务公司
  • 哪些公司网站推广能赚钱展厅布展方案设计
  • ai做的网站怎么切图seo全网图文推广
  • 商丘网站制作教程工业产品设计名词解释
  • 巴中市住房和城乡建设局官方网站网站建设越来越便宜
  • 常州新北区有做淘宝网站策划的吗有用模板网在线制作淘宝店铺装修制作
  • 网站修改域名中国城乡建设部证件查询网站
  • 建网站的论坛网站建设虚拟主机说明
  • 江阴市建设局网站管理通道网站制作费用多少
  • 纯静态网站 后台室内装修效果大图
  • 怎样申请网站注册网站链接到邮箱怎么做
  • 有没有专门做胜负彩的网站百度地图嵌入wordpress
  • 苏州建网站的公司哪家公司好wordpress固定链接翻页404
  • 触摸屏html网站怎么用wordpress模板
  • 建材在哪些网站做广西建设工程质量安全监督总站网站
  • 做博客网站要怎么配置的服做食品网站需要什么条件
  • 门户网站网站制作网址大全最安全实用的网址
  • 宜州做网站拟在建项目信息网官网
  • 网页网站开发工具如何应用网络营销发挥作用
  • 中国建设银行官方网站汇率商标设计怎么收费
  • 邢台做网站优化价格广州做网站企业
  • 在线ppt制作网站有哪些橙色在网站中的应用
  • 宁波网站推广平台咨询家用宽带怎样做网站服务器
  • 静态营销网站代码wordpress主题破解下载
  • 工业设计网站有那些做电影网站的流程