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

东莞网页设计多少钱甘肃新站优化

东莞网页设计多少钱,甘肃新站优化,页面设计排版网站,有赞和微盟哪个更好用这道题我用的是暴力法,当然也是不断的提交不断发现问题改出来的,比如我之前是算到和大于目标值就break,其实不行因为后面还可以有负数,我把break删了。后面和为目标之后就答案1然后break然后下一次遍历,测试用例中就出…

 这道题我用的是暴力法,当然也是不断的提交不断发现问题改出来的,比如我之前是算到和大于目标值就break,其实不行因为后面还可以有负数,我把break删了。后面和为目标之后就答案+1然后break然后下一次遍历,测试用例中就出现了合理的子串后面还有一个0,于是我改成直到遍历完最后一个才结束循环;所以我把两个break都删了,我以为会超时,没想到还是过了,以下是我的代码:

class Solution {public int subarraySum(int[] nums, int k) {int ans =0;int n = nums.length;int sum=0;for(int i=0;i<n;i++){sum =0;for(int j=i;j<n;j++){sum+=nums[j];if(sum == k){ans++;}}}return ans;}
}

就是最简单的暴力法,用i,j两个指针作为子串的起点和终点,然后把子串的所有数的和加起来,如何等于k,ans++。这里就需要注意我前面提到的无论sum=k还是sum>k都不能break,要遍历到最后一个数自动结束,外层循环每次sum归0。

题解的方法一和我的是一样的暴力枚举,方法二是用HashMap来存前缀和,key是前缀和,value值这个前缀和出现的次数,pre[i]表示前i个数的和,pre[j-1]表示前j-1个数的和,当pre[i]-pre[j-1]=k时,我们就找到了这个子串的起始位置j,所以我们只需要一遍遍历即可(算出pre[i]放入hashmap,如果有这个key,就value+1),同时我们看hashmap中有没有pre[i]-k这个key,如果有答案就加上这个key的value,以下时哈希优化的代码:

public class Solution {public int subarraySum(int[] nums, int k) {int count = 0, pre = 0;HashMap < Integer, Integer > mp = new HashMap < > ();mp.put(0, 1);for (int i = 0; i < nums.length; i++) {pre += nums[i];if (mp.containsKey(pre - k)) {count += mp.get(pre - k);}mp.put(pre, mp.getOrDefault(pre, 0) + 1);}return count;}
}
http://www.yidumall.com/news/104664.html

相关文章:

  • 做网站的草图 用什么画深企在线
  • 潍坊网站制作报价如何推广微信公众号
  • 上海网站建设外包站长工具网站测速
  • wordpress淘客响应式主题百度快照优化seo
  • 企业信息化管理平台百度快照优化推广
  • 公司怎么做网站平台网图搜索识别
  • 山东省城建设计院网站泰安seo培训
  • 如何编辑做网站宁德seo推广
  • wordpress js加载速度win7系统优化
  • 兰州科技公司有哪些电商seo优化
  • 十堰互联网公司小程序seo推广技巧
  • 杭州制作网页公司合肥网站关键词优化公司
  • wordpress+站群软件网络推广的工作内容是什么
  • 镇江做网站的公司站长工具seo综合查询是什么
  • 云浮新兴县做网站网站制作开发
  • 小企业网站建设口碑泰安网络推广培训
  • 宝安网站设计流程西安seo管理
  • 政府网站开发成都网站建设方案外包
  • 手机网站设计论文推广软文平台
  • 政府 网站 下载百度seo公司报价
  • 南京行业网站建设百度怎么推广自己的视频
  • asp自动获取网站快照 网站缩略图培训机构排名全国十大教育机构排名
  • 成都微信网站建设推广推广产品的软文怎么写
  • 深圳中心网站建设百度搜索排行榜风云榜
  • 网站建设的职称蚌埠网络推广
  • 湖南网站建设小公司北京seo学校
  • 昆明做网站魄罗科技网盘手机app官网下载
  • xp花生壳做自己的网站产品网络推广方式
  • 中国icp备案的有多少企业网站老师直播课
  • 政府网站建设评分标准如何在百度上做产品推广