1.在小美的国家,任何一篇由英文字母组成的文章中,如果大小写字母的数量不相同会被认为文章不优雅。
现在,小美写了一篇文章,并且交给小团来修改。小美希望文章中的大小写字母数量相同,所以她想让小团帮她把某些小写字母改成对应的大写字母,或者把某些大写字母改成对应的小写字母,使得文章变得优雅。
小美给出的文章一定是由偶数长度组成的,她想知道最少修改多少个字母,才能让文章优雅。
输入描述:
输入包含一个字符串S,仅包含大写字母和小写字母
输出描述:
输出包含一个整数,即最少需要修改的字符数。
输入例子1:
AAAb
输出例子1:
1
例子说明1:
修改为AaAb即可,也有其他两种修改方法:aAAb,AAab
import java.util.Scanner;
import static java.lang.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);
}
}