链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
键盘输入两个字符串,将这两个字符串进行拼接后输出。
输入描述:
键盘输入两个字符串输出描述:
输出两个字符串拼接后的结果示例1
输入
复制hello nihao
hello nihao输出
复制hellonihao
hellonihao
import java.util.*;
public class Main{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
String s1=in.nextLine();
String s2=in.nextLine();
System.out.println(s1+s2);
}
}
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
擂台赛要开始了,现在有 n\mathit nn 名战士,其中第 i\mathit ii 名战士的战斗力为 aia_iai。现在准备从这些战士中挑两名战士进入擂台赛进行对战,由于观众们更喜欢看势均力敌的比赛,所以我们也要挑选两个战斗力尽可能相近的战士进行参赛。那么现在请问,战斗力最接近的两名战士,战斗力之差为多少?
输入描述:
第一行输入一行一个正整数 n\mathit nn 表示战士的数量。 第二行输入 n\mathit nn 个正整数表示每名战士的战斗力。(1≤n≤105,1≤ai≤109)(1 \leq n \leq 10^5, 1 \leq a_i \leq 10^9)(1≤n≤105,1≤ai≤109)输出描述:
输出一行一个正整数表示答案。示例1
输入
复制3 3 5 5
3 3 5 5输出
复制0
0说明
选择两名战斗力为 5 的战士,战斗力之差为 0。示例2
输入
复制5 1 10 4 9 6
5 1 10 4 9 6输出
复制1
1说明
选择战斗力为 10 和 9 两名战士,战斗力的差值为 1。
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n=in.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++)
a[i]=in.nextInt();
int min=Integer.MAX_VALUE;
int d=0;
Arrays.sort(a);
for(int i=0;i<n-1;i++)
{
d=a[i+1]-a[i];
min=Math.min(d, min);
}
System.out.println(min);
}
}
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。
例如:第一个字符串是"They are students.",第二个字符串是”aeiou"。删除之后的第一个字符串变成"Thy r stdnts."。
保证两个字符串的长度均不超过100。
输入描述:
输入两行,每行一个字符串。
输出描述:
输出删除后的字符串。示例1
输入
复制They are students. aeiou
They are students. aeiou输出
复制Thy r stdnts.
Thy r stdnts.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s1=in.nextLine();
String s2=in.nextLine();
for(int i=0;i<s2.length();i++) {
s1=s1.replaceAll(s2.charAt(i)+"", "");
}
System.out.println(s1);
}
}
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
leafee 最近爱上了 abb 型语句,比如“叠词词”、“恶心心”
leafee 拿到了一个只含有小写字母的字符串,她想知道有多少个 "abb" 型的子序列?
定义: abb 型字符串满足以下条件:
- 字符串长度为 3 。
- 字符串后两位相同。
- 字符串前两位不同。
输入描述:
第一行一个正整数 nnn
第二行一个长度为 nnn 的字符串(只包含小写字母)
1≤n≤1051 \leq n \leq 10^51≤n≤105
输出描述:
"abb" 型的子序列个数。示例1
输入
复制6 abcbcc
6 abcbcc输出
复制8
8说明
共有1个abb,3个acc,4个bcc
示例2
输入
复制4 abbb
4 abbb输出
复制3
3
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n=in.nextInt();
in.nextLine();
String s=in.nextLine();
int a[][]=new int[n+100][26];
for(int i=n-1;i>=0;i--) {
for(int j=0;j<26;j++) {
a[i][j]=a[i+1][j];
}
a[i][s.charAt(i)-'a']++;
}
long ans=0;
for(int i=0;i<n;i++) {
for(int j=0;j<26;j++) {
if(j!=s.charAt(i)-'a') {
ans+=(a[i+1][j]*(a[i+1][j]-1))/2;
}
}
}
System.out.println(ans);
}
}
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
漫长的生命总是无聊的。这天,小红和紫准备玩一个染色游戏。
她们拿出了一个有 n∗m n*m\ n∗m 个格子的网格,每个格子只能被染成红色或紫色。每个人可以任意选择一个格子染成红色和紫色,两人轮流进行染色。
她们约定,不能有两个相邻的格子有相同的颜色。最后无法进行染色的人判输。
小红先手进行染色。小红想知道,双方都采用最优策略的情况下,她能否取得胜利?输入描述:
两个正整数n n\ n 和 m m\ m ,用空格隔开。
(1≤n,m≤109) (1\leq n, m \leq 10^9)\ (1≤n,m≤109)
输出描述:
如果小红获胜,则输出一个字符串"akai" 如果紫获胜,则输出一个字符串"yukari"示例1
输入
复制1 1
1 1输出
复制akai
akai说明
小红直接把这个格子染成红色,即可获胜
示例2
输入
复制1 2
1 2输出
复制yukari
yukari说明
小红染色后,紫只需要在相邻的格子染上不同的颜色即可获胜
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
long n=in.nextLong();
long m=in.nextLong();
if((n*m)%2==1)
System.out.println("akai");
else
System.out.println("yukari");
}
}