当前位置: 首页 > news >正文

2.25力扣每日一题--设计内存分配器

2502. 设计内存分配器 - 力扣(LeetCode)

一:JAVA

Allocator(int n)函数:类构造器

int allocate(int size, int mID)函数:输入,待插入块的大小size,插入内容mid /  输出,插入位置块的起始位置

int freeMemory(int mID)函数:输入,待删除内容块的序号mID /  输出,返回释放的空间大小

class Allocator {
    private final int[] memory;

    public Allocator(int n) {
        memory=new int[n];
    }
    
    public int allocate(int size, int mID) {
        int free=0;
        for (int i = 0; i < memory.length; i++) {
            if (memory[i]>0) {
                free=0;
                continue;
            }
            free++;
            if (free==size) {
                Arrays.fill(memory, i-size+1,i+1,mID); // 包左不包右
                return i-size+1;
            }
        }
        return -1;
    }
    
    public int freeMemory(int mID) {
        int sum=0;
        for (int i = 0; i < memory.length; i++) {
            if (memory[i]==mID) {
                sum++;
                memory[i]=0;
            }
        }
        return sum;
    }
}

相关文章:

  • 排序算法适合的场景
  • TCP,http,WebSocket
  • android aosp系统定制如何监控系统性能
  • 改进的Siddon算法与原算法的区别及具体改进
  • SSL/TLS 协议、SSL证书 和 SSH协议 的区别和联系
  • 中级软考笔记-基础知识-8-网络与信息安全
  • 基于SpringBoot的精品水果线上销售平台系统设计与实现(源码+SQL脚本+LW+部署讲解等)
  • react18自定义hook实现
  • 基于three进行数字孪生平台架构设计及应用实现
  • 【安卓逆向】逆向APP界面UI修改再安装
  • Git详解及常用命令
  • .NET Core MVC IHttpActionResult 设置Headers
  • 将 iOS 项目打包并运行到真实的 iPhone 设备
  • python实现基于文心一言大模型的sql小工具
  • 02.25 继承和多态
  • 【大模型系列】使用ollama本地运行千问2.5模型
  • [字节青训_AI对话框]SSE交互规范、自定义事件、前后端数据传递、状态监听、连接和断开详解
  • knife4j+springboot3.4异常无法正确展示文档
  • (论文)使用双频分析检测 AI 合成的语音
  • 【大厂AI实践】微软:基于预训练的自然语言生成在搜索与广告中的应用
  • wordpress4.9.4 mysql/优化科技
  • 住房建设部官方网站/百度搜索怎么优化
  • 秦皇岛网络编辑网站/网络推广策划书
  • 如何做部落冲突网站/短视频入口seo
  • 求国外做任务赚钱的网站/欧美网站建设公司
  • 贪便宜网站/网络广告策划书模板范文