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

CF 465B.Inbox (100500)(Java实现)

题目分析

        计算读取所有未读邮件所需的步数,其中1代表未读,0代表已读

思路分析

        遍历邮件,如果当前是未读,那么所需步数+1,如果下一封也是未读,不用管(遍历后会直接+1),如果下一封是已读,那就回到目录(此时步数+1),直到遇到下一个未读(由于设定了未读+1,所以这里也不需要其他操作)。由于示例1,101区间是直接按顺序读过去的是三次,但是遇0回到目录再读仍然是3次,所以不影响。如果存入的数据没有1,那就输出0

代码


import java.util.*;public class Main {public static void main(String[] args)  {Scanner sc = new Scanner(System.in);int n=sc.nextInt();//总共邮件数量int[] arr=new int[n];//邮件组Boolean fan=false;//判断这个邮件组是否包含1int re=0;//初始化步数int index=-1;//记录最后一个未读的信件for (int i = 0; i < n; i++) {//遍历存值arr[i]=sc.nextInt();if (arr[i]==1){//只要有一封是未读fan=true;//那就执行后续操作,如果全是已读就不用执行,re也就自然是0index=i;//不断更新index,最后index的值就是最后一封未读邮件的位置}}if (fan){//如果邮件组包含未读for (int i = 0; i < n; i++) {//遍历邮件if (arr[i]==1){//遇到未读邮件re++;//那就步数+1if (i<n-1&&arr[i+1]==0&&index!=i){//如果下一封是0,那就回到目录,如果这一封已经是最后一封那就不用+1,解释index!=ire++;//回到目录步数+1}}}}System.out.println(re);}
}

(走亲访友耽误两天,我胡汉三又回来啦)

         感谢您能够看到这里,一起见证小何同学的算法学习,如果您有不同的见解,希望能得到您的指点和点悟;如果您是和我一样的同学,也希望这篇文章能对您有所帮助。

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

相关文章:

  • 微信小程序获取openid和其他接口同时并发请求如何保证先获取到openid
  • 实现动态卡通笑脸的着色器实现
  • DeepSeek R1 模型解读与微调
  • YOLOv11实时目标检测 | 摄像头视频图片文件检测
  • Node.js学习指南
  • 2.5学习总结
  • java进阶文章链接
  • vue2+vue3 HMCXY基础入门
  • 一次线程数超限导致的hive写入hbase作业失败分析
  • ip属地是手机号还是手机位置?一文理清
  • 查看设备uuid
  • C_C++输入输出(下)
  • All in one 的 AI tool Chain “Halomate”
  • crewai框架第三方API使用官方RAG工具(pdf,csv,json)
  • 脉冲信号傅里叶变换与频域分析:从计算到理解
  • 6.【BUUCTF】[SUCTF 2019]CheckIn
  • 基于springboot的体质测试数据分析及可视化设计
  • 孟加拉国_行政边界省市边界arcgis数据shp格式wgs84坐标
  • 可视化相机pose colmap形式的相机内参外参
  • 数据结构 树2
  • GB/T 44721-2024 与 L3 自动驾驶:自动驾驶新时代的基石与指引
  • AURIX TC275学习笔记3 官方例程 (UART LED WDT)
  • Vim的基础命令
  • Linux的简单使用和部署4asszaaa0
  • Linux 的 sysfs 伪文件系统介绍【用户可以通过文件操作与内核交互(如调用内核函数),而无需编写内核代码】
  • 每日一题洛谷P5721 【深基4.例6】数字直角三角形c++
  • 计算机网络笔记再战——理解几个经典的协议1
  • ElasticSearch学习笔记-解析JSON格式的内容
  • 浅谈密码相关原理及代码实现
  • Spring Boot常用注解深度解析:从入门到精通