自己还是太菜了,编程题第二题
#360面试#
一时间没有思路就没写第二题,翻转棋子问题
题意如下:第一行输入n,k //n为棋子数,k为翻转次数
以下k行输入左右边界的值
输出黑子的个数(题目给出初始全为黑色棋子,棋子为黑白两面)
剩了30分钟,觉得没有思路就提前交卷了,后面才想到,太菜了,呜呜呜
public class ReTest {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int nums=sc.nextInt();//棋子数
int count = sc.nextInt();//翻转次数
int [] res=new int[count*2];//存储每一次翻转的左右边界的值
for (int i = 0; i < count*2; i++) {
res[i]=sc.nextInt();
}
int Chess[]=new int[nums];//默认都为0,0为黑色棋子
for (int i = 0; i < res.length; i=i+2)
{
int left = res[i];
int right=res[i+2-1];
for (;left<=right; )
{
Chess[left]++;
left++;
}
}
int sum=0;
for (int i = 0; i < Chess.length; i++) {
if (Chess[i]%2==0)
{
sum++;
}
}
System.out.println(sum);
}
}
一时间没有思路就没写第二题,翻转棋子问题
题意如下:第一行输入n,k //n为棋子数,k为翻转次数
以下k行输入左右边界的值
输出黑子的个数(题目给出初始全为黑色棋子,棋子为黑白两面)
剩了30分钟,觉得没有思路就提前交卷了,后面才想到,太菜了,呜呜呜
public class ReTest {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int nums=sc.nextInt();//棋子数
int count = sc.nextInt();//翻转次数
int [] res=new int[count*2];//存储每一次翻转的左右边界的值
for (int i = 0; i < count*2; i++) {
res[i]=sc.nextInt();
}
int Chess[]=new int[nums];//默认都为0,0为黑色棋子
for (int i = 0; i < res.length; i=i+2)
{
int left = res[i];
int right=res[i+2-1];
for (;left<=right; )
{
Chess[left]++;
left++;
}
}
int sum=0;
for (int i = 0; i < Chess.length; i++) {
if (Chess[i]%2==0)
{
sum++;
}
}
System.out.println(sum);
}
}
全部评论
这题我看到过有人分享
没有缩进的代码格式看的强迫症好累
相关推荐
点赞 评论 收藏
分享
05-21 14:50
湖南机电职业技术学院 前端工程师 nus2201602...:兄弟,你这个简历撕了丢了吧,就是一坨,去找几个项目,理解项目流程,看几遍就是你的了,看看八股就去干了,多看看牛客里别人发出来的简历,对着写,你这写的啥啊,纯一坨

点赞 评论 收藏
分享