- 符合条件的vue模版
- 公共子序列最大长度
- 选择 出租房子还是存货的最大收益
- 洪水逃离最短时间

import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static boolean AllEmp(StringBuilder
s) { //检查模版括号内是否全为空
String a = s.toString();
for (char ch : a.toCharArray()) {
if (ch != ' ')return false;
}
return true;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Deque<String>st = new ArrayDeque();
String input = in.nextLine();
input = "/" + input + "/"; //防止溢出
char[]a = input.toCharArray();
StringBuilder sb = new StringBuilder();
boolean beg = false; //是否目前是包含在{{}}内的字符串
int id = 1;
while (id < a.length) {
if (a[id] == '}') { //右括号
if (a[id + 1] == '}' && a[id - 1] != '}' && a[id + 2] != '}') {
if (st.isEmpty() || !st.peek().equals("{{") || st.size() != 1) {
System.out.print("false");
return;
} else {
st.pop();
}
if (AllEmp(sb)) { //检查是否全为空
System.out.print("false");
return;
}
sb = new StringBuilder();
beg = false;
id++;
} else {
System.out.print("false");
return;
}
}
else if (a[id] == '{') { //左括号
if (a[id + 1] == '{' && a[id - 1] != '{' && a[id + 2] != '{') {
beg = true;
st.push("{{");
id++;
} else {
System.out.print("false");
return;
}
}
else { //普通字
if (beg)sb.append(a[id]);
}
id++;
}
if (st.isEmpty())System.out.print("true");
else System.out.print("false");
return;
}
}
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String t1 = in.nextLine();
String t2 = in.nextLine();
char[]c1 = t1.toCharArray();
char[]c2 = t2.toCharArray();
int m = c1.length, n = c2.length;
int[][]f = new int[m + 1][n + 1]; //t1前m与t2前n
for (int i = 0; i < m; i++)Arrays.fill(f[i], 0);
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
f[i][j] = Math.max(f[i - 1][j], f[i][j - 1]);
if (c1[i - 1] == c2[j - 1]) f[i][j] = Math.max(f[i - 1][j - 1] + 1, f[i][j]);
}
}
System.out.print(f[m][n]);
}
}
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m = in.nextInt();
int k = in.nextInt();
int n = in.nextInt();
int[]a = new int[n];
for (int i = 0; i < n; i++)a[i] = in.nextInt();
long[]f = new long[n];
for (int i = 0; i < n; i++) {
if (i > 0)f[i] = f[i - 1] + m;
else f[i] = m;
for (int j = 0; j < i; j++) {
if (j > 0) {
//[j,i]采用出租
f[i] = Math.max(f[i], f[j - 1] + m * (i - j + 1));
//[j,i]采用存货
f[i] = Math.max(f[i], f[j - 1] + a[i] - a[j] - 2 * k);
} else {
//[0,i]采用出租
f[i] = Math.max(f[i], m * (i + 1));
//[0,i]采用存货
f[i] = Math.max(f[i], a[i] - a[0] - 2 * k);
}
}
}
System.out.print(f[n - 1]);
}
}
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static boolean c(int a, int[][]g) {
//最大值为a时能否通过
int n = g.length;
Queue<Integer>q = new ArrayDeque();
boolean[][]vis = new boolean[n][n];
if (g[0][0] <= a){
q.offer(0);
vis[0][0] = true;
}
int[]d = new int[] {-1, 0, 1, 0, -1};
while (!q.isEmpty()) {
int i = q.poll();
int x = i / n, y = i % n;
if (x == n - 1 && y == n - 1)return true;
for (int k = 0; k < 4; k++) {
int nx = x + d[k], ny = y + d[k + 1];
if (nx >= 0 && nx < n && ny >= 0 && ny < n && !vis[nx][ny] && g[nx][ny] <= a) {
q.offer(n * nx + ny);
vis[nx][ny] = true;
}
}
}
return false;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[][]g = new int[n][n];
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)g[i][j] = in.nextInt();
//从0,0-n-1,n-1路过最大值的最小值
int l = -1, r = n * n;
while (l + 1 < r) {
int mid = (l + r) >> 1;
if (c(mid, g))r = mid;
else l = mid;
}
System.out.print(r);
}
}
#网易求职进展汇总##笔试#