188旅游网站管理系统源码,深圳传媒有限公司,免费下载企业微信,建设网站教程视频视频题目分析 计算读取所有未读邮件所需的步数#xff0c;其中1代表未读#xff0c;0代表已读
思路分析 遍历邮件#xff0c;如果当前是未读#xff0c;那么所需步数1#xff0c;如果下一封也是未读#xff0c;不用管(遍历后会直接1)#xff0c;如果下一封是已读#xff0…
题目分析 计算读取所有未读邮件所需的步数其中1代表未读0代表已读
思路分析 遍历邮件如果当前是未读那么所需步数1如果下一封也是未读不用管(遍历后会直接1)如果下一封是已读那就回到目录(此时步数1)直到遇到下一个未读(由于设定了未读1所以这里也不需要其他操作)。由于示例1101区间是直接按顺序读过去的是三次但是遇0回到目录再读仍然是3次所以不影响。如果存入的数据没有1那就输出0
代码 import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int nsc.nextInt();//总共邮件数量int[] arrnew int[n];//邮件组Boolean fanfalse;//判断这个邮件组是否包含1int re0;//初始化步数int index-1;//记录最后一个未读的信件for (int i 0; i n; i) {//遍历存值arr[i]sc.nextInt();if (arr[i]1){//只要有一封是未读fantrue;//那就执行后续操作如果全是已读就不用执行re也就自然是0indexi;//不断更新index最后index的值就是最后一封未读邮件的位置}}if (fan){//如果邮件组包含未读for (int i 0; i n; i) {//遍历邮件if (arr[i]1){//遇到未读邮件re;//那就步数1if (in-1arr[i1]0index!i){//如果下一封是0那就回到目录如果这一封已经是最后一封那就不用1解释index!ire;//回到目录步数1}}}}System.out.println(re);}
}
走亲访友耽误两天我胡汉三又回来啦 感谢您能够看到这里一起见证小何同学的算法学习如果您有不同的见解希望能得到您的指点和点悟如果您是和我一样的同学也希望这篇文章能对您有所帮助。