目录
57:谁考了第k名
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String []args)
{
Scanner cin = new Scanner(System.in);
int n=cin.nextInt();
int k=cin.nextInt();
zx[] zxx=new zx[n];
for(int i=0;i<n;i++) {
zxx[i]=new zx(cin.nextInt(),cin.nextDouble());
}
Arrays.sort(zxx);
System.out.println(zxx[k-1].xuehao+" "+zxx[k-1].chengji);
}
}
class zx implements Comparable<zx> {
int xuehao;
double chengji;
public zx(int xuehao, double chengji) {
this.xuehao = xuehao;
this.chengji = chengji;
}
@Override
public int compareTo(zx o) {
return o.chengji>this.chengji?1:-1;
}
}
58:奇数单增序列
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[]args){
Scanner cin = new Scanner(System.in);
int n=cin.nextInt();
int []shuzu=new int[n];
List<String> list = new ArrayList<String>();
for(int i=0;i<n;i++) {
shuzu[i]=cin.nextInt();
}
Arrays.sort(shuzu);
for(int i=0;i<n;i++) {
if(shuzu[i]%2!=0) {
String s=String.valueOf(shuzu[i]);
list.add(s);
}
}
String list2;
list2 = list.toString().replace("[","").replace("]","").replace(" ","");
System.out.print(list2);
}
}
59:整数奇偶排序
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[]args){
Scanner cin = new Scanner(System.in);
int []shuzu=new int[10];
for(int i=0;i<10;i++) {
shuzu[i]=cin.nextInt();
}
Arrays.sort(shuzu);
for(int j=9;j>=0;j--) {
if(shuzu[j]%2!=0) {
System.out.print(shuzu[j]+" ");
}
}
for(int s=0;s<10;s++) {
if(shuzu[s]%2==0) {
System.out.print(shuzu[s]+" ");
}
}
}
}
60:整数去重
import java.util.LinkedHashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Set<Integer> set1 = new LinkedHashSet<>();
for (int i = 0; i < n; i++) {
set1.add(sc.nextInt());
}
for (Integer k : set1) {
System.out.print(k + " ");
}
}
}
61:接水问题
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
int m = cin.nextInt();
int []dun = new int[n];
for(int i=0;i<n;i++){
dun[i]= cin.nextInt();
}
int time=0;
if(m==1){
for(int i=0;i<n;i++){
time=time+dun[i];
}
} else{
for(int i=m;i<n;i++){
int z=0;
for(int j=1;j<m;j++){
if(dun[z]>=dun[j]) {
z=j;
}
}
dun[z]+=dun[i];
}
for(int i=0;i<m;i++){
if(time<=dun[i]) {
time=dun[i];
}
}
}
System.out.print(time);
}
}
62:二进制分类
public class Main {
public static void main(String[] args) {
int a=0;
int b=0;
for(int i=1;i<=1000;i++) {
String s = Integer.toString(i,2);
int oneCount = 0;
for(int m=0;m<s.length();m++)
{
if(s.charAt(m)=='1')
oneCount++;
}
if(oneCount>(s.length()-oneCount))
a++;
else
b++;
}
System.out.println(a+" "+b);
}
}
63:画矩形
import java.util.Scanner;
public class Main {
public static void main(String[]args){
Scanner cin = new Scanner(System.in);
int hang=cin.nextInt();
int lie=cin.nextInt();
String tuxing = cin.next();
int heart=cin.nextInt();
if(heart==0) {
for(int i=0;i<hang;i++) {
for(int j=0;j<lie;j++) {
if(i==0||i==hang-1||j==0||j==lie-1) {
System.out.print(tuxing);
}else {
System.out.print(" ");
}
}
System.out.println();
}
}else if(heart==1) {
for(int i=0;i<hang;i++) {
for(int j=0;j<lie;j++) {
System.out.print(tuxing);
}
System.out.println();
}
}
}
}
64:敲七
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
int i=cin.nextInt();
String j;
for(int p=7;p<=i;p++)
{
j=String.valueOf(p);
if(p%7==0){
System.out.println(p);
}else if(j.contains("7")){
System.out.println(j);
}
}
}
}
66:等比数列末项计算
import java.util.Scanner;
import java.lang.Math;
public class Main {
public static void main(String[]args){
Scanner cin = new Scanner(System.in);
long a1=cin.nextInt();
long n=cin.nextInt();
long sss=(long)Math.pow(2,n-1);
long an=a1*sss;
System.out.println(an);
}
}
67:矩阵交换行
import java.util.Scanner;
public class Main {
public static void main(String[]args){
int [][] erwei = new int[5][5];
Scanner cin = new Scanner(System.in);
int c=0;
int d=0;
int B=0;
while(c<5){
while(d<5){
erwei[c][d]=cin.nextInt();
d++;
}
d=0;
c++;
}
int n = cin.nextInt();
int m = cin.nextInt();
int s=hanshu(erwei,n,m);
if(s==0) {
System.out.println("error");
}else if(s==1) {
c=0;
d=0;
while(c<5){
while(d<5){
System.out.print(" "+erwei[c][d]);
d++;
}
System.out.println();
d=0;
c++;
}
}
}
static int hanshu(int shuzu[][], int n1,int m1) {
int [] yiwei = new int[5];
if (!(n1 >= 0 && n1 <= 4 && m1 >= 0 && m1 <= 4)) {
return 0;
}else {
for (int i=0;i<5;i++) {
yiwei[i]=shuzu[n1][i];
}
for(int j=0;j<5;j++) {
shuzu[n1][j]=shuzu[m1][j];
}
for(int e=0;e<5;e++) {
shuzu[m1][e]=yiwei[e];
}
return 1;
}
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[][] a = new int[5][5];
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
a[i][j] = sc.nextInt();
}
}
int m = sc.nextInt();
int n = sc.nextInt();
if (!(m >= 0 && m <= 4 && n >= 0 && n <= 4)) {
System.out.println("error");
} else {
for (int k = 0; k < 5; k++) {
int temp = a[m][k];
a[m][k] = a[n][k];
a[n][k] = temp;
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.printf("%4d", a[i][j]);
}
System.out.println();
}
}
}
}
68:字符串hash
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
Set<String> set1 = new HashSet<String>();
for(int i=0;i<n;i++){
String m = cin.next();
set1.add(m);
}
System.out.println(set1.size());
}
}
//了解下另一种解题思路就行,此方法会超时
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
List<String> list = new ArrayList <String>();
int sum=0;
for(int i=0;i<n;i++){
String m = cin.next();
if(list.contains(m) == false){
list.add(m);
sum++;
}
}
System.out.println(sum);
}
}
69:蛇形填充数组
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n=cin.nextInt();
int zxzx=1;
int a[][]=new int[n][n];
for(int i=0;i<=2*n-2;i++){
for(int j=i;j>=0;j--){
if(j<n&&i-j<n){
if(i%2!=0)
a[i-j][j]=zxzx++;
else
a[j][i-j]=zxzx++;
}
}
}
for (int m = 0; m < n; m++) {
for (int d = 0; d <n; d++) {
System.out.print(a[m][d]+" ");
}
System.out.println();
}
}
}
70:反反复复
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n=cin.nextInt();
String mo=cin.next();
int length=mo.length();
int hang = (int)Math.ceil(length/n);
char[][] shuzu=new char[hang][n];
char[][] shuzu1=new char[hang][n];
char [] yiwei=mo.toCharArray();
int zzz=0;
for (int i = 0; i < hang; i++) {
for (int j = 0; j < n; j++) {
shuzu[i][j]=yiwei[zzz];
zzz++;
}
}
for(int i=0;i<hang;i++) {
if(i%2==0) {
for(int j=0;j<n;j++) {
shuzu1[i][j]=shuzu[i][j];
}
}else if(i%2!=0) {
int m=0;
for(int j=n-1;j>=0;j--) {
shuzu1[i][m]=shuzu[i][j];
m++;
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < hang; j++) {
System.out.print(shuzu1[j][i]);
}
}
}
}