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

长沙优化网站获客软件北京专业企业网站建设

长沙优化网站获客软件,北京专业企业网站建设,wordpress红帽,wordpress内容关键字这道题我用的是暴力法,当然也是不断的提交不断发现问题改出来的,比如我之前是算到和大于目标值就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.yayakq.cn/news/196220/

相关文章:

  • 链接网站制作深圳市注册公司需要什么资料
  • 备案网站分布地点南京网站建设方案
  • 网站建设招标文件wordpress后台增加管理页
  • sem优化软件哪家好知乎seo
  • seo也成搜索引擎优化建站seo推广
  • 医院科室网站建设软件定制 上海
  • 网站广告案例生活创意产品设计
  • 网站建设主要包括哪些建设响应式网站
  • 网站开发的硬件设备有工业设计外包平台
  • 网站免费优化平台网站制作 牛商网 岳阳 公司
  • 潍坊网站建设优化推广注册贸易公司流程及费用
  • 甘肃省建设厅特种工查询网站网站建设与管理简答题
  • 网站建设与推广的策划方案宁德建设银行网站
  • 网站改版上线wordpress是开源的么
  • 祁东网站建设昭通网站seo优化
  • 网站免费源码下载安全的网站建设公司
  • 网站建设销售广州自助网站设计平台
  • 广州印刷网站建设广州教育网站设计公司
  • 全屏幕网站模板怎么查看网站收录
  • 有没有免费的推广网站定制网站开发报价单
  • 文化传媒公司网站建设一级服务器二级服务器
  • 用tornado做网站企业网站是如何做的
  • 模拟建设官方网站建设网站一定需要云服务器么
  • 在线自助设计平台南京网络优化培训
  • 如何变更网站备案信息查询公众号怎么做链接
  • 机关局域网网站建设wordpress 交互页面
  • 搜索网站有哪些托管代运营
  • wapcms建站系统深圳办公室软装
  • 男女性直接做的视频网站小规模公司怎么注册
  • 什么是网站内页深圳建站工作室