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

网站测试工具淘宝关键词指数

网站测试工具,淘宝关键词指数,网站怎么做收费,网站 常见推广题目: 给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值。请注意,需要 修改 数组以供接下来的操作使用。 如果可以将 x 恰好 减到 0 ,返回 …

题目:

给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值。请注意,需要 修改 数组以供接下来的操作使用。

如果可以将 x 恰好 减到 0 ,返回 最小操作数 ;否则,返回 -1 。

示例 1:

输入:nums = [1,1,4,2,3], x = 5
输出:2
解释:最佳解决方案是移除后两个元素,将 x 减到 0 。

示例 2:

输入:nums = [5,6,7,8,9], x = 4
输出:-1

示例 3:

输入:nums = [3,2,20,1,1,3], x = 10
输出:5
解释:最佳解决方案是移除后三个元素和前两个元素(总共 5 次操作),将 x 减到 0 。

提示:

  • 1 <= nums.length <= 105
  • 1 <= nums[i] <= 104
  • 1 <= x <= 109

算法原理:

正面入手解题,情况繁杂,一会是取左边一会是取右边,但是正难则反,反面入手解题:

题目要求可以转成:求最长一段连续的子数组区间,要求区间和为sum-x(sum是数组所有元素的和),那么最小操作数=数组所有元素个数-最长子数组长度

题目本来的要求是:求「左端+右端」两段连续的、和为 x 的最短数组

连续区间,可以考虑用滑动窗口来解题

1 求出数组所有元素的和sum 目标值target=sum-x

2 用滑动窗口,找出最长的子数组,使其和为target

   细节:target可能为负数(当sum<x时)但是题目提示中所有元素均不存在负数

             所以返回-1

   left=0(左边界) right=0(指向待进入窗口的元素) sum2统计区间和

   a 进窗口:sum2+=nums[right] 

   b 判断:    若是sum2>target 循环出窗口,直至sum<=target

                     若是循环结束后,sum2==target,则找到一组结果,若此次结果更优则更新结果

   c 出窗口:sum-=nums[left],left++

代码实现:

class Solution 
{
public:int minOperations(vector<int>& nums, int x){int sum = 0;for(auto e:nums){sum+=e;}int target = sum-x;if(target<0)//细节{return -1;}int left = 0;int right = 0;int n = nums.size();int sum2 = 0;int ret = -1;while(right<n){sum2+=nums[right];//进窗口while(sum2>target)//判断{sum2-=nums[left++];//出窗口}if(sum2==target)//更新结果{ret = max(ret,right-left+1);}right++;}return ret==-1?ret: n-ret;}
};
http://www.dinnco.com/news/38238.html

相关文章:

  • 商丘市建设seo优化入门教程
  • 怎么管理网站的内容吗手机百度快照
  • 郑州网站开发与建设写软文一篇多少钱合适
  • seo做的不好的网站有哪些app推广方法及技巧
  • dw网页设计步骤seo网站优化方案
  • 网站建设厦门百度网盘官网下载
  • 珠海医疗网站建设公司东莞搜索引擎推广
  • 如何创建问卷网站南京seo招聘
  • 怎么做垂直网站东莞寮步最新通知
  • ubuntu 做网站网络营销的推广方式
  • 内蒙古网络自学网站建设深圳百度公司地址在哪里
  • 人和动物做愛视频网站企业qq怎么申请
  • 石家庄万达网站制作seo优化一般包括哪些内容
  • 好的网站建设网站制作优化排名
  • 做视频导航网站有哪些郑州seo培训班
  • 怎么免费制作网站平台信阳seo公司
  • 网站制作收费标准老客外链
  • 竞价页面网站做优化怎样做推广
  • 上海做网站汉狮网络优化大师的三大功能
  • 烟台软件优化网站石家庄关键词快速排名
  • 招代理网站建设公司seo域名综合查询
  • 深圳四站合一网站建设电话湖北seo服务
  • 个人网站模版怎么建立网站
  • 如何做好营销型网站建设佛山网站建设制作公司
  • 虚拟主机怎么做网站营销型网站建设报价
  • 做奥网站网站创建流程
  • 网站建设常用英语外链发布平台大全
  • 磁盘阵列做网站宣传推广方案
  • 医疗网站织梦网络营销是指什么
  • 自己做团购网站怎么样软文网站推荐