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

题目:美丽的区间(蓝桥OJ 1372)

题目描述:

解题思路:

        采用双指针的快慢指针。

图解

        可以采用前缀和,但会相较麻烦。

题解:

#include<bits/stdc++.h>
using namespace std;const int N = 1e5 + 9;
int a[N];// 因为是连续区间(连续区间:从数轴某一点开始,差值相等的区间)int main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int n, s;cin >> n >> s;for(int i = 1; i <= n; i++)cin >> a[i];int sum = 0;int ans = n + 1;int j = 0; //以上三个初始化可以在for的int内for(int i = 1; i <= n; i++)//i为左指针{while(i > j || (j + 1 <= n && sum <= s))sum += a[++j];//j为右指针。while条件分两种情况://1.i>j表示区间不合法时。2.j+1<=n表示可以继续加,sum<=s。if(sum >= s)ans = min(ans, j - i + 1);//min是取最小区间(每一次循环i,j都有可能改变)sum -= a[i];}cout << (ans > n ? 0 : ans);//使用三目代替if使代码简洁。当ans>n时,代表区间不存在return 0;
}

http://www.lryc.cn/news/255898.html

相关文章:

  • 解决:During handling of the above exception, another exception occurred
  • 计算机基础知识65
  • Python开发运维:Python垃圾回收机制
  • ros2/ros安装ros-dep||rosdep init错误
  • 《深入理解计算机系统》学习笔记 - 第四课 - 机器级别的程序
  • 云原生(Cloud Native)——概念,技术,背景,优缺点,实践例子
  • ElasticSearch之线程池
  • StoneDB-8.0-V2.2.0 企业版正式发布!性能优化,稳定性提升,持续公测中!
  • 【数据结构 — 排序 — 插入排序】
  • 物联网后端个人第十四周总结
  • 在uniapp中,可以使用那些预定义的样式类
  • mybatis的数据库连接池
  • Vue 的 el-select 下拉选项中,只有当文字超出时才显示提示框,未超出的则不显示
  • 【Python】pptx文件转pdf
  • response应用及重定向和request转发
  • CentOS常用基础命令大全(linux命令)2
  • 分析阿里巴巴的微服务依赖图和性能
  • Linux——基本指令(一)
  • 虚幻学习笔记10—C++函数与蓝图的通信
  • 无重复字符的最长子串(LeetCode 3)
  • 交付《啤酒游戏经营决策沙盘》的项目
  • 油猴(Tampermonkey)浏览器插件简单自定义脚本开发
  • BGP综合
  • 库函数qsort的使用及利用冒泡排序模拟实现qsort
  • mybatis和mybatisplus中对 同namespace 中id重复处理逻辑源码解析
  • linux下部署frp客户端服务端-内网穿透
  • Markdown to write
  • ResNeXt(2017)
  • DreamPlace 的下载安装与使用
  • FPGA模块——SPI协议(读写FLASH)