2016-09-21 20:51
广东工业大学 Java 九思1://看完题目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));
}
}
投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
2016-04-11 23:33
广东工业大学 Java 0 点赞 评论 收藏
分享
2016-03-31 07:31
广东工业大学 Java 0 点赞 评论 收藏
分享
2016-03-24 12:38
广东工业大学 Java 0 点赞 评论 收藏
分享
关注他的用户也关注了: