学习目标:算法学习-Day16

题库: 洛谷题库
每天保持发布一篇Java或C算法题解!

题目
给定一个数组,输出其中第二小的整数(相等的整数只计算一次)。
输入格式:
第一行,一个整数 n(1≤n≤100),表示数组长度。

第二行,n 个绝对值小于 100 的整数。

输出格式:

一行。如果该数组存在第二小整数,则输出第二小整数。如果不存在,则输出NO。
样例 1 :

输入:
4
1 2 2 -4


输出:
1


样例 2 :

输入:
5
1 2 3 1 1


输出:
2


思路:

 题目要求输出第二小整数。将数组第一个数赋值给一个变量保存进行大小排序从数组的第二个数开始遍历依次与第一个数进行比大小如果第二个数大则把第二个数存放给变量此时不能再循环下去了,直接break不然输出的就不是第二小的整数了!!!不存在的情况:就是数组中的元素和第一个数一样这样就看不出谁是第二小整数,输出“NO”

习题总结及反思:

 这道题将数组分为两部分,一部分是第一个数,另一个就是剩余的数组元素,剩余的数组元素与第一个数依次比大小,只要大于第一个数直接break同时还要记得对数组进行大小排序,这样能保证第二数大于第一个数(如果是相等情况,直接输出NO)

代码如下:

import java.util.*;
public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);int n = input.nextInt();int arr [] = new int [n];//循环输入for(int i = 0 ; i < arr.length ; i ++){arr[i] = input.nextInt();}//从小到大排序Arrays.sort(arr);//最小的数int min = arr[0];//从第二项开始遍历,和第一项进行比较for(int i = 1 ; i < n ; i ++){//找到第二小的数直接breakif(arr[i] > min){min = arr[i];break;}}//元素都一样即包括了第一个数和第二个数相等的情况if(min == arr[0]){System.out.println("NO");}else{System.out.println(min);}}
}

算法成长之路------CF22A Second Order Statistics相关推荐

  1. CF22A Second Order Statistics

    Second Order Statistics (CF22A) 题解 这是一道CF的题目(Code Forces 22A) 题目(英文): Once Bob needed to find the se ...

  2. 算法成长之路------CF29A Spit Problem

    学习目标:算法学习-Day21 **题库:洛谷题库 ** 每天保持发布一篇Java或C算法题解! 题目: 有 n 只骆驼在公园里互相吐口水,如果一个骆驼在 x 位置能吐距离为 d 的口水,如果那个位置 ...

  3. 架构成长之路 | 图解分布式共识算法Paxos议会协议

    作者:码途   阿里云智能-全球技术服务部 在系列的前一篇文章中,阐述了 Paxos 的单法令教会协议,也在文章的总结中提到了教会协议只是作为 Paxos 最核心的共识算法,并不具备实际的单独应用场景 ...

  4. 程序猿成长之路番外篇之前后端加解密(rsa+aes混合加解密算法)

    今年国庆前夕接手一个外部项目,说是要保障接口数据安全,数据安全相对容易些,接口安全嘛emmmmm, 这个要考虑加解密算法.白名单之类的问题了.于是打算今天搞一期接口安全为题的成长之路番外篇. 为什么要 ...

  5. 拿下斯坦福和剑桥双offer,00后的算法学习之路

    董文馨,00后,精通英语,西班牙语.斯坦福大学计算机系和剑桥大学双Offer,秋季将进入斯坦福大学学习. 10岁开始在国外上学:12岁学Scratch: 13岁学HTML & CSS: 14岁 ...

  6. 架构师成长之路:如何提升技术掌控力?

    架构师成长之路:如何提升技术掌控力? 简介: 在很多人眼里,架构师就犹如古代的将军一般,既能运筹帷幄决胜千里,又能独闯敌营取人首级,是所有士兵们崇拜的偶像...好了,其实我只是想说:能成为一名优秀的架 ...

  7. CISSP的成长之路(二十一):用户持有凭证

    在51CTO安全频道特别策划的CISSP的成长之路系列的上一篇文章<讲解身份验证过程>里,J0ker给大家介绍了用户验证时所依赖的三种验证要素.密码和密码短语及其安全使用原则.作为技术实施 ...

  8. [Java学习资料] [成长之路]

    [背景] 网上学习资料千千万万,成长之路千千万万,各取所需 JAVA基础 网站 https://www.runoob.com/java/java-tutorial.html https://www.w ...

  9. 专访雷果国:从1.5K到18K 一个程序员的5年成长之路

    摘要:上段时间CSDN博客上流传了一篇比较励志的博文,讲述了一个程序员从基础薄弱到入职心仪公司的5年成长经历,为了给那些待毕业或已毕业但对未来仍很迷茫的朋友指引前行的方向,CSDN专访了这篇博文的作者 ...

最新文章

  1. linux ssh scp 使用跳板机 访问 远程服务器
  2. Interview:算法岗位面试—10.25早上—上海某电公司算法岗位(偏图像算法,国企)技术面试之比赛历程、项目收获(Pytorch和Tensorflow)、未来方向
  3. python练习题:使用循环和函数实现一个摇骰子小游戏
  4. lightgbm中的feval参数使用明细
  5. 行人跟踪python_使用Python为初学者构建AI汽车和行人跟踪
  6. Redis 持久化之RDB和AOF
  7. 多名员工拉横幅讨薪却跑错地方?暴风集团回应...
  8. php sqlite视图,SQLite 视图
  9. python数字图像处理(2):图像的读取、显示与保存
  10. android solid代码,Android中形状图形 | shape图形常用的3个节点:corners(圆角)、solid(填充) 和 stroke(描边)...
  11. Python学习记录(小甲鱼C的课程)
  12. 转发 微博 Qzone 微信 草根创业英雄时代落幕:贾跃亭戴威们一去不复返
  13. html浏览器pc端禁止缩放,如何禁止pc端浏览器缩放
  14. PDF怎么转换成jpg图片
  15. 文件(图片)上传保存与展示
  16. C#常见错误—未将对象引用设置到对象的实例
  17. 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构zhen项目
  18. NOIP2017D2T3-列队
  19. 区块链软件开发公司 区块链技术对市场的意义
  20. 20个海外Web和App推送通知服务工具(一)

热门文章

  1. 【javaScript获取时间,计算任意两个日期之间相隔的天数】计算任意两个日期之间相隔的天数
  2. Linux grep -v 命令排除输出
  3. 计算机系单身率排行榜,高校按专业单身率排名,IT类挤进前三,网友:选错专业孤独一生...
  4. wsimport 无法读取wsdl文档,unknown extensibility element or attribute “EndpointReference“
  5. 破解美团外卖的 _token算法
  6. 手机设备唤醒计算机,计算机自行唤醒,但唤醒源未知
  7. python2和python3的区别、转换及共存
  8. asp.net 隐藏url 简便方法
  9. lqc_更新系统+弱口令扫描+nmap
  10. Macbook非常好用的一些功能