JAVA牛客acm练习题记录

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA⽜客acm练习题记录
1.在⼩美的国家,任何⼀篇由英⽂字母组成的⽂章中,如果⼤⼩写字母的数量不相同会被认为⽂章不优雅。

现在,⼩美写了⼀篇⽂章,并且交给⼩团来修改。

⼩美希望⽂章中的⼤⼩写字母数量相同,所以她想让⼩团帮她把某些⼩写字母改成对应的⼤写字母,或者把某些⼤写字母改成对应的⼩写字母,使得⽂章变得优雅。

⼩美给出的⽂章⼀定是由偶数长度组成的,她想知道最少修改多少个字母,才能让⽂章优雅。

输⼊描述:
输⼊包含⼀个字符串S,仅包含⼤写字母和⼩写字母
输出描述:
输出包含⼀个整数,即最少需要修改的字符数。

输⼊例⼦1:
AAAb
输出例⼦1:
1
例⼦说明1:
修改为AaAb即可,也有其他两种修改⽅法:aAAb,AAab
import java.util.Scanner;
import static ng.Math.abs;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int cap = 0,low = 0;
for(int i=0;i<str.length();i++){
if(Character.isUpperCase(str.charAt(i)) == true){
cap++;
}else{
low++;
}
}
System.out.println((int)(0.5*abs(cap-low)));
}
}
2.
A国和B国正在打仗,他们的⽬的是n块⼟地。

现在,A国和B国暂时休战,为了能合理分配这⼀些⼟地,AB国开始协商。

A国希望得到这n块⼟地中的p块⼟地,B国希望得到这n块⼟地中的q块⼟地。

每个国家都将⾃⼰希望得到的⼟地编号告诉了⼩团和⼩美——两位战争调和⼈。

你需要帮⼩团和⼩美计算,有多少块⼟地是只有A国想要的,有多少块⼟地是只有B国想要的,有多少块⼟地是两个国家都想要的。

输⼊描述:
输⼊第⼀⾏包含三个整数n,p,q,含义如题意所⽰
接下来⼀⾏p个整数,空格隔开,第i个整数代表A国需要的⼟地编号
接下来⼀⾏q个整数,空格隔开,第i个整数代表B国需要的⼟地编号
⼟地编号从q开始,n结束。

输出描述:
输出包含三个数,只有A国想要的⼟地数,只有B国想要的⼟地数,两个国家都想要的⼟地数。

输⼊例⼦1:
5 3 3
1 2 3
3 4 5
输出例⼦1:
2 2 1
例⼦说明1:
1,2号⼟地只有A想要,4,5号⼟地只有B想要,3号⼟地都想要import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int p = sc.nextInt();
int q = sc.nextInt();
int[] A = new int[p];
int[] B = new int[q];
sc.nextLine();
for(int i=0;i<p;i++){
A[i] = sc.nextInt();
}
sc.nextLine();
for(int i=0;i<q;i++){
B[i] = sc.nextInt();
}
int[] count = new int[n];
int countA = 0,countB = 0,bothAB = 0;
for(int i=0;i<p;i++){
count[A[i]-1]+=1;
}
for(int i=0;i<q;i++){
count[B[i]-1]-=2;
}
for(int num:count){
if(num==1) {
countA++;
}else if(num==-1){
bothAB++;
}else if(num==-2){
countB++;
}else{
continue;
}
}
System.out.println(countA+" "+countB+" "+bothAB);
}
}。

相关文档
最新文档