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

怎么做同城商务网站网站设计与制作公司

怎么做同城商务网站,网站设计与制作公司,用ae做模板下载网站,网络营销是什么课程文章目录 1.最大连续1的个数2.将x减到0的最小操作数 1.最大连续1的个数 解法: 1.暴力解法给定一个left指针固定左端点元素,再给定一个right指针从左端点元素开始遍历。 当遇到1时,让一个计数器cnt1,当遇到0时,让统计0…

`

文章目录

  • 1.最大连续1的个数
  • 2.将x减到0的最小操作数


1.最大连续1的个数

在这里插入图片描述
解法:

  • 1.暴力解法
  • 给定一个left指针固定左端点元素,再给定一个right指针从左端点元素开始遍历。
    • 当遇到1时,让一个计数器cnt+1,当遇到0时,让统计0的计数器sum+1,同时总的计数器也+1。当统计0的计数器sum>=k时,说明0翻转的次数用完了。所以统计当前的最长长度(1和0)。
  • 随后进行下一次循环,left往后走一格,right从left位置开始往后走,同时清空总长度计数器和统计0的计数器重新开始遍历,重复上述操作即可。

时间复杂度O(n^2)

  • 2.滑动窗口
  • 在暴力解法的基础上,当统计0的计数器sum>k时,不再回到left位置重新开始遍历。而是让left位置的元素出窗口,同时继续判断当前的统计0的计数器是否还是>k,因为left位置出的元素可能是0。这样,在保证翻转的0的个数<=k的前提下,遍历一边数组就能找到最长的长度。

时间复杂度O(n)

滑动窗口代码:

class Solution {
public:int longestOnes(vector<int>& nums, int k) {   //len是统计长度的,cnt是统计0的个数的long long len = 0,cnt = 0;long long left = 0,right = 0,n = nums.size();while(right < n){//1.进窗口if(nums[right] == 0)cnt+=1;//2.判断while(cnt > k){//出窗口if(nums[left++] == 0)cnt-=1;}//3.更新结果len = max(len,right-left+1);right++;}return len;}
};

2.将x减到0的最小操作数

在这里插入图片描述
解法:

先转变一下思路,将这道题换个思路。
在这里插入图片描述
这道题转化成了找一段最大连续区间,该区间内的和为sum-x。
三个关键点:1.最大的,2.连续区间,3.和为sum-x

解法:

  • 1.暴力求解。
  • 固定left指针,让right指针从left指针开始往后走,边走边将该元素添加到cnt,进行求和。当cnt > sum - x时,说明加多了不符合。此时清空cnt,让left+1,让right重新从left位置开始往后找。
    当找到cnt == sum - x时,统计长度。继续再次遍历。直到找到最大的len。
    注意,最后返回的是n - len(n为nums的大小)。
    以为我们只是把题目转化成了求最大连续区间的长度和为sum-x。
    但是题目的原意是求和为x的最小操作数,所以要返回n-len。

时间复杂度O(n^2)

  • 2.滑动窗口

  • 滑动窗口就是在暴力求解的基础上,当cnt > sum - x时,不需要让right重新往回走到left位置,而是让left往后走,也就是让left位置的元素出窗口。
    找到当cnt == sum - x时,更新长度。
    最后同样是返回n - len。

由于right无需重新从left位置开始遍历,所以时间复杂度O(n).

滑动窗口代码:

class Solution {
public:int minOperations(vector<int>& nums, int x) {int left = 0,right = 0,n = nums.size();int len = -1;int sum = 0;for(auto i : nums)sum += i;int target = sum - x;if(target < 0)return -1;sum = 0;while(right < n){//1.进窗口sum += nums[right];//2.判断while(sum > target){//出窗口sum -= nums[left++];}if(sum == target)len = max(len,right-left+1);right++;}return len == -1 ? -1 : n-len;}
};
http://www.dtcms.com/wzjs/380654.html

相关文章:

  • 宜昌网站设计公司郑州seo全网营销
  • 那些钓鱼网站是怎么做的网站 推广
  • 网络服务器可提供的常见服务哪四个优化网站推广教程排名
  • 长沙好的网站建设品牌谷歌浏览器引擎入口
  • 如何快速用手机做网站外链推广平台
  • 做查询新生寝室的网站seo整站优化服务
  • 宝安做棋牌网站建设找哪家效益快不收费的小说网站排名
  • 做餐饮如何加入外卖网站关键词优化如何做
  • 做兼职什么网站靠谱吗今日头条搜索优化
  • 软件开发 网站建设关键词林俊杰百度云
  • 做讲课ppt的网站爱站网为什么不能用了
  • 多平台网站建设南京搜索引擎推广优化
  • 响应式网站 手机版快推达seo
  • 上海哪里做网站比较好ebay欧洲站网址
  • 阳山网站建设sem优化是什么
  • 刷排名凡搜网站宝免费百度下载
  • 西安外贸建站网站免费推广平台
  • 学生管理系统 静态网站源码友情链接检测工具
  • 济南靠谱做网站公司企业网络推广平台
  • 新网站注册app推广拉新一手渠道代理
  • 做网站php语言用什么工具丽水网站seo
  • 网站建设和钱百度关键词价格查询
  • 甘肃网络公司网站建设无锡seo优化公司
  • 衡水高端网站建设2345网址导航设置
  • 怎么搜索整个网站内容百度关键字
  • 安徽省建设网站拼多多代运营收费标准
  • 长春网站设计公司百度网页版官网
  • 网站 前台 后台竞价推广怎么做
  • 企业做网站要多少钱海会网络做的网站怎么做优化
  • 网站建设服务有哪些方面搜索引擎优化免费