关注
第三题 用字符串做的
import java.util.Scanner;
/*
* 模拟一个连续的内存块,其大小固定为100字节:
1.用户输入"REQUEST=10"表示从内存中分配一个连续的大小为10字节的空间,当分配成功时,
输出内存区块的首地址,分配失败(内存空间不足)时输出"error"
2.用户输入“RELEASE=0”,表示释放首地址为0所对应的区块,如果不存在相应区块,则输出“error”,反之不输出
* */
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// TODO Auto-generated method stub
StringBuilder str = new StringBuilder(100);
//a 空 b为头 c为体
for(int i=0;i<100;i++) {
str.append('a');
}
do {
String input = sc.next();
if(input.equals("000")) {
break;
}
int num = Integer.parseInt(input.substring(8));
int boo = input.substring(0, 7).equals("REQUEST")?1:0;//1代表存 0代表释放
System.out.println(Solution(num, boo, str));
for(int i=0;i<100;i++) {
System.out.print(str.charAt(i));
}
System.out.println();
}while(true);
}
public static String Solution(int num,int boo,StringBuilder str) {
if(boo==1) {//分配空间
if(num==1) {
int a = str.indexOf("a");
str.setCharAt(a, 'b');
return ""+a;
}else {
StringBuilder a = new StringBuilder("b");
StringBuilder b = new StringBuilder("a");
for(int i=0;i<num-1;i++) {
a.append('c');
b.append('a');
}
int c=str.indexOf(b.toString());
if(c!=-1) {
str.replace(c, c+num, a.toString());
return ""+c;
}else {
return "error";
}
}
}else {//释放空间
if(str.charAt(num)=='b') {
int count = 1;
for(int i=num+1;i<=99&;&;str.charAt(i)=='c';i++) {
count++;
}
for(int i=num;i<(num+count);i++) {
str.setCharAt(i, 'a');
}
return "";
}else {
return "error";
}
}
}
}
查看原帖
点赞 1
相关推荐
牛客热帖
更多
正在热议
更多
# 跟HR说什么能被秒回? #
13688次浏览 236人参与
# 腾讯音乐求职进展汇总 #
159629次浏览 1099人参与
# MiniMax求职进展汇总 #
20397次浏览 269人参与
# 你收到了哪些公司的笔试? #
27250次浏览 146人参与
# 小红书求职进展汇总 #
225916次浏览 1350人参与
# 春招/暑实第一面是哪家? #
28010次浏览 276人参与
# 巨人网络春招 #
10804次浏览 164人参与
# 如果重来一次你还会读研吗 #
228733次浏览 2009人参与
# 网易游戏笔试 #
5920次浏览 81人参与
# 硬件人秋招的第一个offer #
122152次浏览 1452人参与
# 职能管理面试记录 #
10264次浏览 57人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
5589次浏览 139人参与
# 正在春招的你,也参与了去年秋招吗? #
361384次浏览 2627人参与
# 我的AI电子员工 #
33992次浏览 223人参与
# 工作中遇到的歹人 #
96213次浏览 535人参与
# 校招笔试 #
459376次浏览 2940人参与
# 你怎么看待AI面试 #
178047次浏览 1050人参与
# 字节开奖 #
135823次浏览 619人参与
# 如何一边实习一边找下家? #
38841次浏览 320人参与
# 面试官最爱问的 AI 问题是...... #
23888次浏览 752人参与
# 网易笔试 #
151338次浏览 789人参与
# AI时代,哪些岗位最容易被淘汰 #
60180次浏览 608人参与
