关注
第三题 用字符串做的
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
相关推荐
查看8道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看10道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
11637次浏览 150人参与
# 你的mentor是什么样的人? #
51014次浏览 718人参与
# 程序员找工作至少要刷多少题? #
20245次浏览 258人参与
# 我和mentor的爱恨情仇 #
106150次浏览 944人参与
# 论秋招对个人心气的改变 #
12460次浏览 169人参与
# 校招第一份工作你干了多久? #
136590次浏览 597人参与
# 机械人避雷的岗位/公司 #
43884次浏览 304人参与
# 为了减少AI幻觉,你注入过哪些设定? #
5482次浏览 166人参与
# 设计人如何选offer #
189626次浏览 868人参与
# 你的秋招进行到哪一步了 #
2530367次浏览 23253人参与
# 机械人还在等华为开奖吗? #
312067次浏览 1582人参与
# 牛客AI体验站 #
7379次浏览 200人参与
# 秋招投递记录 #
380826次浏览 3203人参与
# 重来一次,我还会选择这个专业吗 #
411165次浏览 3898人参与
# 12306一秒售罄,你抢到回家的票了吗? #
2186次浏览 51人参与
# 我现在比当时_,你想录用我吗 #
9158次浏览 117人参与
# 互联网公司评价 #
485805次浏览 4111人参与
# 一张图晒一下你的AI员工 #
5509次浏览 123人参与
# AI Coding的使用心得 #
4996次浏览 105人参与
# 职场上哪些行为很加分? #
322369次浏览 3598人参与
