一、平方和
package _2019_Java_A;
public class _01A平方和 {
public static void main(String[] args) {
// TODO Auto-generated method stub
long ans = 0;
for(int i=1;i<=2019;i++) {
String num = i+"";
if(num.contains("2")||num.contains("0")||num.contains("1")||num.contains("9")) {
ans += i*i;
}
}
System.out.print(ans);
}
//2658417853
}
二、数列求和
package _2019_Java_A;
public class _02B数列求和 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 20190324;
int [] a = new int[n+1];
a[1]=a[2]=a[3]=1;
for(int i=4;i<=n;i++) {
a[i] = (a[i-1] +a[i-2] +a[i-3])%10000;
}
System.out.print(a[n]);
}
//4659
}
三、降雨量
package _2019_Java_A;
public class _03C降雨量 {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
/*
49-15 = 34;
*/
}
六、二叉树
package _2019_Java_A;
import java.util.*;
public class _06F二叉树 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();//n个节点
int [] a = new int[n+1];
for(int i=1;i<=n;i++) {
a[i] = sc.nextInt();
}
int h =(int) (Math.log10(n+1)/Math.log10(2));//树高
int [] s = new int[h+1];//层节点和
int max = s[1] = a[1];
int iflag = 1;
for(int i=2;i<=h;i++) {
for(int j=(int) Math.pow(2, i-1);j<=Math.pow(2, i)-1;j++) {
s[i] += a[j];
}
if(s[i]>max) {
max = s[i];
iflag = i;
}
}
System.out.print(iflag);
sc.close();
}
/*
input:
7
1 6 5 4 3 2 1
*/
}
七、外卖优先级
package _2019_Java_A;
import java.util.*;
public class _07G外卖优先级 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();//店家个数
int [] p = new int[n+1];//优先级
boolean [] flag = new boolean[n+1];//是否在缓存中
int m = sc.nextInt();//订单数
int t = sc.nextInt();//t时刻
int [][] order = new int[n+1][t+1]; //店家在每一时刻的订单数
for(int i=1;i<=m;i++) {
int x = sc.nextInt();
int y = sc.nextInt();
order[y][x] ++;
}
for(int i=1;i<=n;i++) {
for(int j = 1;j<=t;j++) {
if(order[i][j]>0) {
p[i] += 2*order[i][j];
}
else if(p[i]>0) {
p[i]--;
}
if(p[i]>5) flag[i] = true;
else if(p[i]<=3) flag[i] = false;
}
}
int ans=0;
for(int i=1;i<=n;i++) {
if(flag[i]) ans ++;
}
System.out.print(ans);
sc.close();
}
/*
input:
2 6 6
1 1
5 2
3 1
6 2
2 1
6 2
output:
1
*/
}
八、修改数组
package real;
import java.util.*;
public class H修改数组 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int [] a = new int[n];
for(int i=0;i<n;i++) {
a[i] = sc.nextInt();
while(find(a,i)) {
a[i]++;
}
}
for(int i=0;i<n;i++) {
System.out.print(a[i]+" ");
}
sc.close();
}
private static boolean find(int[] a, int i) {
//判断前面是否有与a[i]相同的
for(int j=i-1;j>=0;j--) {
if(a[i]==a[j]) return true;
}
return false;
}
/*
input:
5
2 1 1 3 4
output:
2 1 3 4 5
*/
}
我是小菜鸟,我只会暴力