//看完题目10分钟就A出来了,结果载在第二题上 import java.util.Arrays; import java.util.Scanner; public class Main5 { //先把数组排序  数相差大于10为界限 分成多个区 //每个区有三总情况:区的数量%3==0、1、2 //等于0的区不用加题目 //等于1的区加2个题目。x1:%3等于1的区的数量 //等于2的区加1个题目。x2:%3等于2的区的数量 //最后结果=x1*2+x2*1 public static int f(int[] arr){ Arrays.sort(arr); int n = arr.length; int j=1; int x1=0;//%3等于1的区的数量 int x2=0;//%3等于2的区的数量 for (int i = 0; i < n-1; i++) { if(arr[i+1]-arr[i]<=10){ j++;//计算每个区的数量 }else{ if(j%3==2){ x2++; } if(j%3==1){ x1++; } j=1; } } if(j%3==2){ x2++; } if(j%3==1){ x1++; } return x1*2+x2*1; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n  = sc.nextInt(); int[] arr = new int[n]; for (int i = 0; i < arr.length; i++) { arr[i]=sc.nextInt(); } System.out.println(f(arr)); } }
点赞 4

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务