23/5/25字节跳动后端 第一次笔试 欢迎大佬来评论解法


递归嘛,样例过了但是没分
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int t=in.nextInt();
int[][] arr=new int[t][];
int[] res=new int[t];
for(int i=0;i<t;i++){
int n = in.nextInt();
arr[i]=new int[n];
for(int j=0;j<n;j++){
arr[i][j]=in.nextInt();
}
// res[i]=arr[i][0];//不能跳过第一只怪物
// if(n<=2)
arr[i][1]+=Math.max(arr[i][0],0);
for(int j=2;j<n;j++){
arr[i][j]+=Math.max(arr[i][j-1],arr[i][j-2]);
}
res[i]=arr[i][n-1];
System.out.println(res[i]);
}
// for(int i=0;i<t;i++){
// System.out.println(Arrays.toString(arr[i]));
// }
}
}



做了1h 做出来90%
// 本题为考试单行多行输入输出规范示例,无需提交,不计分。
import java.util.Scanner;
import java.util.Arrays;
public class Main {
static int n;
static int[] arr;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
n=in.nextInt();
int co=n;
int m=in.nextInt();
arr=new int[n+1];
for(int i=1;i<=n;i++){
arr[i]=in.nextInt();
}
in.close();
int a=-1;
while(co>0){
co=sub(a,co,m);
// System.out.println(Arrays.toString(arr));
a--;
}
for(int i=1;i<=n;i++){
if(arr[i]%2==0)
System.out.print("B");
else
System.out.print("A");
// System.out.print(arr[i]);
}
}
public static int sub(int a,int count,int m){
int mm=m;
int max=1;
for(int j=2;j<=n;j++){
if(arr[j]>arr[max]){
max=j;
}
}
arr[max]=a;
count--;
for(int left=max-1;left>=1;left--){
if(arr[left]>0){
m--;
count--;
arr[left] = a;
if(m==0)
break;
}
}
for(int r=max+1;r<=n;r++){
if(arr[r]>0){
mm--;
count--;
arr[r] = a;
if(mm==0)
break;
}
}
return count;
}
}


本文来自博客园,作者:软工菜鸡,转载请注明原文链接:https://www.cnblogs.com/SElearner/p/17676652.html
标签:
后端
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)